depuis que j'ai un script qui surveille le volume des fichiers de swap
sur ma machine, je m'aperçois que le volume augmente plus facilement
qu'il ne diminue.
En effet, je ne parviens jamais à "vidanger" les fichiers de swap (et
donc trouver les process qui swappent) sans rebooter.
Même un délog de tous les utilisateurs ne me fait jamais revenir à un
seul fichier.
Je précise que j'ai 1,5 Go de RAM, et qu'en temps normal je n'ai qu'un
seul fichier de swap, et ce, même avec des semaines d'uptime si je ne
fais pas le fanfaron avec le FreePlayer (par exemple).
Ma question donc : comment déterminer quels processes utilisent la swap ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Gaborit
À (at) Mon, 19 Sep 2005 16:02:51 +0200, patpro ~ Patrick Proniewski écrivait (wrote):
depuis que j'ai un script qui surveille le volume des fichiers de swap sur ma machine, je m'aperçois que le volume augmente plus facilement qu'il ne diminue.
Normal (*).
En effet, je ne parviens jamais à "vidanger" les fichiers de swap (et donc trouver les process qui swappent) sans rebooter. Même un délog de tous les utilisateurs ne me fait jamais revenir à un seul fichier.
Normal (*).
Je précise que j'ai 1,5 Go de RAM, et qu'en temps normal je n'ai qu'un seul fichier de swap, et ce, même avec des semaines d'uptime si je ne fais pas le fanfaron avec le FreePlayer (par exemple).
Ma question donc : comment déterminer quels processes utilisent la swap ?
Par définition, tous les processus utilisent le swap.
(*) Ce qui compte c'est comment est configuré votre gestionnaire de swap (le 'dynamic_pager' appelé par le script /etc/rc)...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Mon, 19 Sep 2005 16:02:51 +0200,
patpro ~ Patrick Proniewski <patpro@boleskine.patpro.net> écrivait (wrote):
depuis que j'ai un script qui surveille le volume des fichiers de swap
sur ma machine, je m'aperçois que le volume augmente plus facilement
qu'il ne diminue.
Normal (*).
En effet, je ne parviens jamais à "vidanger" les fichiers de swap (et
donc trouver les process qui swappent) sans rebooter.
Même un délog de tous les utilisateurs ne me fait jamais revenir à un
seul fichier.
Normal (*).
Je précise que j'ai 1,5 Go de RAM, et qu'en temps normal je n'ai qu'un
seul fichier de swap, et ce, même avec des semaines d'uptime si je ne
fais pas le fanfaron avec le FreePlayer (par exemple).
Ma question donc : comment déterminer quels processes utilisent la swap ?
Par définition, tous les processus utilisent le swap.
(*) Ce qui compte c'est comment est configuré votre gestionnaire de
swap (le 'dynamic_pager' appelé par le script /etc/rc)...
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Mon, 19 Sep 2005 16:02:51 +0200, patpro ~ Patrick Proniewski écrivait (wrote):
depuis que j'ai un script qui surveille le volume des fichiers de swap sur ma machine, je m'aperçois que le volume augmente plus facilement qu'il ne diminue.
Normal (*).
En effet, je ne parviens jamais à "vidanger" les fichiers de swap (et donc trouver les process qui swappent) sans rebooter. Même un délog de tous les utilisateurs ne me fait jamais revenir à un seul fichier.
Normal (*).
Je précise que j'ai 1,5 Go de RAM, et qu'en temps normal je n'ai qu'un seul fichier de swap, et ce, même avec des semaines d'uptime si je ne fais pas le fanfaron avec le FreePlayer (par exemple).
Ma question donc : comment déterminer quels processes utilisent la swap ?
Par définition, tous les processus utilisent le swap.
(*) Ce qui compte c'est comment est configuré votre gestionnaire de swap (le 'dynamic_pager' appelé par le script /etc/rc)...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
patpro ~ patrick proniewski
In article , Paul Gaborit wrote:
Ma question donc : comment déterminer quels processes utilisent la swap ?
Par définition, tous les processus utilisent le swap.
je la repose autrement :
comment savoir quels sont les process qui utilisent les fichiers de swap surnuméraires (et qui sont responsables de la non-disparition de ceux ci) ?
Par ailleurs, je ne suis pas d'accord sur le fait que tous les process _utilisent_ le swap, vu que je peux faire plusieurs semaines d'uptime avec un fichier de swap modifié seulement au moment du boot, ce dernier n'est visiblement pas utilisé.
patpro
In article <r7ll1t2hta.fsf@vaugirard.enstimac.fr>,
Paul Gaborit <Paul.Gaborit@invalid.invalid> wrote:
Ma question donc : comment déterminer quels processes utilisent la swap ?
Par définition, tous les processus utilisent le swap.
je la repose autrement :
comment savoir quels sont les process qui utilisent les fichiers de swap
surnuméraires (et qui sont responsables de la non-disparition de ceux
ci) ?
Par ailleurs, je ne suis pas d'accord sur le fait que tous les process
_utilisent_ le swap, vu que je peux faire plusieurs semaines d'uptime
avec un fichier de swap modifié seulement au moment du boot, ce dernier
n'est visiblement pas utilisé.
Ma question donc : comment déterminer quels processes utilisent la swap ?
Par définition, tous les processus utilisent le swap.
je la repose autrement :
comment savoir quels sont les process qui utilisent les fichiers de swap surnuméraires (et qui sont responsables de la non-disparition de ceux ci) ?
Par ailleurs, je ne suis pas d'accord sur le fait que tous les process _utilisent_ le swap, vu que je peux faire plusieurs semaines d'uptime avec un fichier de swap modifié seulement au moment du boot, ce dernier n'est visiblement pas utilisé.
patpro
pmanet
patpro ~ patrick proniewski wrote:
vu que je peux faire plusieurs semaines d'uptime avec un fichier de swap modifié seulement au moment du boot,
je témoigne que certains process mla foutus sont probablement en cause dans la consommation de RAM excessive amenant à swapper sans rendre leur mémoire. Je peux aussi rester des semaines sans swap, et tout à coup passer à 15 MO de ram libre, et ensuite ne plus redescendre en dessous de 100-150.
j'ai eu de forts soupçons autour de Classic, Internet Preference et MacSoup... en tout cas, en présence d'encodages prolongés. Si j'arrete tout, je ne récupère pas ma RAM libre et je continue à avoir des pageout,meme de nombreuses heures après. -- Philippe Manet
patpro ~ patrick proniewski <patpro@boleskine.patpro.net> wrote:
vu que je peux faire plusieurs semaines d'uptime
avec un fichier de swap modifié seulement au moment du boot,
je témoigne que certains process mla foutus sont probablement en cause
dans la consommation de RAM excessive amenant à swapper sans rendre leur
mémoire.
Je peux aussi rester des semaines sans swap, et tout à coup passer à 15
MO de ram libre, et ensuite ne plus redescendre en dessous de 100-150.
j'ai eu de forts soupçons autour de Classic, Internet Preference et
MacSoup... en tout cas, en présence d'encodages prolongés.
Si j'arrete tout, je ne récupère pas ma RAM libre et je continue à avoir
des pageout,meme de nombreuses heures après.
--
Philippe Manet
vu que je peux faire plusieurs semaines d'uptime avec un fichier de swap modifié seulement au moment du boot,
je témoigne que certains process mla foutus sont probablement en cause dans la consommation de RAM excessive amenant à swapper sans rendre leur mémoire. Je peux aussi rester des semaines sans swap, et tout à coup passer à 15 MO de ram libre, et ensuite ne plus redescendre en dessous de 100-150.
j'ai eu de forts soupçons autour de Classic, Internet Preference et MacSoup... en tout cas, en présence d'encodages prolongés. Si j'arrete tout, je ne récupère pas ma RAM libre et je continue à avoir des pageout,meme de nombreuses heures après. -- Philippe Manet
Paul Gaborit
À (at) Mon, 19 Sep 2005 18:35:09 +0200, patpro ~ patrick proniewski écrivait (wrote):
In article , Paul Gaborit wrote:
Par définition, tous les processus utilisent le swap.
je la repose autrement :
comment savoir quels sont les process qui utilisent les fichiers de swap surnuméraires (et qui sont responsables de la non-disparition de ceux ci) ?
Les fichiers de swap sont partagés et utilisés par tous les processus à la fois. Il n'y a pas de correspondance fixe entre le mémoire vue par le processus et un endroit du disque utilisé par la mémoire virtuelle.
Pour que les fichiers surnuméraires disparaissent, il faut que le taux d'occupation *global* tombe en-dessous d'un seuil qui déclenche une réorganisation des fichiers swap. Les taux sont paramètrés au lancement de 'dynamic_pager'. Je ne suis pas sûr qu'on puisse les changer au vol.
Par ailleurs, je ne suis pas d'accord sur le fait que tous les process _utilisent_ le swap, vu que je peux faire plusieurs semaines d'uptime avec un fichier de swap modifié seulement au moment du boot, ce dernier n'est visiblement pas utilisé.
Parce que votre mémoire suffisait à servir tous les processus. Mais lorsque le swap commence à être utilisé, il l'est par tous les processus.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Mon, 19 Sep 2005 18:35:09 +0200,
patpro ~ patrick proniewski <patpro@boleskine.patpro.net> écrivait (wrote):
In article <r7ll1t2hta.fsf@vaugirard.enstimac.fr>,
Paul Gaborit <Paul.Gaborit@invalid.invalid> wrote:
Par définition, tous les processus utilisent le swap.
je la repose autrement :
comment savoir quels sont les process qui utilisent les fichiers de swap
surnuméraires (et qui sont responsables de la non-disparition de ceux
ci) ?
Les fichiers de swap sont partagés et utilisés par tous les processus
à la fois. Il n'y a pas de correspondance fixe entre le mémoire vue
par le processus et un endroit du disque utilisé par la mémoire
virtuelle.
Pour que les fichiers surnuméraires disparaissent, il faut que le taux
d'occupation *global* tombe en-dessous d'un seuil qui déclenche une
réorganisation des fichiers swap. Les taux sont paramètrés au
lancement de 'dynamic_pager'. Je ne suis pas sûr qu'on puisse les
changer au vol.
Par ailleurs, je ne suis pas d'accord sur le fait que tous les process
_utilisent_ le swap, vu que je peux faire plusieurs semaines d'uptime
avec un fichier de swap modifié seulement au moment du boot, ce dernier
n'est visiblement pas utilisé.
Parce que votre mémoire suffisait à servir tous les processus. Mais
lorsque le swap commence à être utilisé, il l'est par tous les
processus.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Mon, 19 Sep 2005 18:35:09 +0200, patpro ~ patrick proniewski écrivait (wrote):
In article , Paul Gaborit wrote:
Par définition, tous les processus utilisent le swap.
je la repose autrement :
comment savoir quels sont les process qui utilisent les fichiers de swap surnuméraires (et qui sont responsables de la non-disparition de ceux ci) ?
Les fichiers de swap sont partagés et utilisés par tous les processus à la fois. Il n'y a pas de correspondance fixe entre le mémoire vue par le processus et un endroit du disque utilisé par la mémoire virtuelle.
Pour que les fichiers surnuméraires disparaissent, il faut que le taux d'occupation *global* tombe en-dessous d'un seuil qui déclenche une réorganisation des fichiers swap. Les taux sont paramètrés au lancement de 'dynamic_pager'. Je ne suis pas sûr qu'on puisse les changer au vol.
Par ailleurs, je ne suis pas d'accord sur le fait que tous les process _utilisent_ le swap, vu que je peux faire plusieurs semaines d'uptime avec un fichier de swap modifié seulement au moment du boot, ce dernier n'est visiblement pas utilisé.
Parce que votre mémoire suffisait à servir tous les processus. Mais lorsque le swap commence à être utilisé, il l'est par tous les processus.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Saïd
patpro ~ Patrick Proniewski :
Bonjour,
depuis que j'ai un script qui surveille le volume des fichiers de swap sur ma machine, je m'aperçois que le volume augmente plus facilement qu'il ne diminue. En effet, je ne parviens jamais à "vidanger" les fichiers de swap (et donc trouver les process qui swappent) sans rebooter. Même un délog de tous les utilisateurs ne me fait jamais revenir à un seul fichier. Je précise que j'ai 1,5 Go de RAM, et qu'en temps normal je n'ai qu'un seul fichier de swap, et ce, même avec des semaines d'uptime si je ne fais pas le fanfaron avec le FreePlayer (par exemple).
Ma question donc : comment déterminer quels processes utilisent la swap ?
On peut changer le comportement par defaut (qui est qu'un fichier swap n'est afface que s'il est entierment libéré, i.e. 4ko utilises justifient le maintien du fichier) et demander a ce que le nombre de fichiers swaps soit reduit des que la taille des trous inutilises dans le swap devient plus grande que celle d'un fichier, ce qui doit reduire les performances de la machine pendant quelques secondes. (man dynamic_pager et modifier /etc/rc en consequence)
Mais tant que ton DD est assez gros ca ne vaut pas la peine de s'en preocupper, AMHA.
Sinon, je ne sais pas comment obtenir la liste des processus dont une partie des donnees est dans un des fichiers swap. A mon avis c'est une information confidentiel defense du noyau qu'il ne voudra jamais cracher :) (jamais vu d'appel systeme permettant de savoir ou se trouve physiquement un segment de donnee, et encore ca ne donnerait la reponse que pour le processus qui appelle cet appel systeme ce qui n'est pas tres interessant).
-- Saïd.
patpro ~ Patrick Proniewski :
Bonjour,
depuis que j'ai un script qui surveille le volume des fichiers de swap
sur ma machine, je m'aperçois que le volume augmente plus facilement
qu'il ne diminue.
En effet, je ne parviens jamais à "vidanger" les fichiers de swap (et
donc trouver les process qui swappent) sans rebooter.
Même un délog de tous les utilisateurs ne me fait jamais revenir à un
seul fichier.
Je précise que j'ai 1,5 Go de RAM, et qu'en temps normal je n'ai qu'un
seul fichier de swap, et ce, même avec des semaines d'uptime si je ne
fais pas le fanfaron avec le FreePlayer (par exemple).
Ma question donc : comment déterminer quels processes utilisent la swap ?
On peut changer le comportement par defaut (qui est qu'un fichier swap
n'est afface que s'il est entierment libéré, i.e. 4ko utilises justifient
le maintien du fichier) et demander a ce que le nombre de fichiers swaps
soit reduit des que la taille des trous inutilises dans le swap devient plus
grande que celle d'un fichier, ce qui doit reduire les performances de la
machine pendant quelques secondes. (man dynamic_pager et modifier /etc/rc en
consequence)
Mais tant que ton DD est assez gros ca ne vaut pas la peine de s'en
preocupper, AMHA.
Sinon, je ne sais pas comment obtenir la liste des processus dont une
partie des donnees est dans un des fichiers swap. A mon avis c'est une
information confidentiel defense du noyau qu'il ne voudra jamais cracher :)
(jamais vu d'appel systeme permettant de savoir ou se trouve physiquement un
segment de donnee, et encore ca ne donnerait la reponse que pour le
processus qui appelle cet appel systeme ce qui n'est pas tres interessant).
depuis que j'ai un script qui surveille le volume des fichiers de swap sur ma machine, je m'aperçois que le volume augmente plus facilement qu'il ne diminue. En effet, je ne parviens jamais à "vidanger" les fichiers de swap (et donc trouver les process qui swappent) sans rebooter. Même un délog de tous les utilisateurs ne me fait jamais revenir à un seul fichier. Je précise que j'ai 1,5 Go de RAM, et qu'en temps normal je n'ai qu'un seul fichier de swap, et ce, même avec des semaines d'uptime si je ne fais pas le fanfaron avec le FreePlayer (par exemple).
Ma question donc : comment déterminer quels processes utilisent la swap ?
On peut changer le comportement par defaut (qui est qu'un fichier swap n'est afface que s'il est entierment libéré, i.e. 4ko utilises justifient le maintien du fichier) et demander a ce que le nombre de fichiers swaps soit reduit des que la taille des trous inutilises dans le swap devient plus grande que celle d'un fichier, ce qui doit reduire les performances de la machine pendant quelques secondes. (man dynamic_pager et modifier /etc/rc en consequence)
Mais tant que ton DD est assez gros ca ne vaut pas la peine de s'en preocupper, AMHA.
Sinon, je ne sais pas comment obtenir la liste des processus dont une partie des donnees est dans un des fichiers swap. A mon avis c'est une information confidentiel defense du noyau qu'il ne voudra jamais cracher :) (jamais vu d'appel systeme permettant de savoir ou se trouve physiquement un segment de donnee, et encore ca ne donnerait la reponse que pour le processus qui appelle cet appel systeme ce qui n'est pas tres interessant).
À (at) Mon, 19 Sep 2005 18:35:09 +0200, patpro ~ patrick proniewski écrivait (wrote):
In article , Paul Gaborit wrote:
Par définition, tous les processus utilisent le swap.
je la repose autrement :
comment savoir quels sont les process qui utilisent les fichiers de swap surnuméraires (et qui sont responsables de la non-disparition de ceux ci) ?
Les fichiers de swap sont partagés et utilisés par tous les processus à la fois. Il n'y a pas de correspondance fixe entre le mémoire vue par le processus et un endroit du disque utilisé par la mémoire virtuelle.
Pour que les fichiers surnuméraires disparaissent, il faut que le taux d'occupation *global* tombe en-dessous d'un seuil qui déclenche une réorganisation des fichiers swap. Les taux sont paramètrés au lancement de 'dynamic_pager'. Je ne suis pas sûr qu'on puisse les changer au vol.
Il me semblait pourtant que justement sous OSX il y avait comme un vice de conception ici qui faisait que justement un process pouvait parfaitement bloquer une zone de swap dans un fichier d'un rang n et empécher ainsi la libération des fichiers de rang inférieur
De plus, de ce que j'ai constaté, les fichiers ne disparaissent que lors du lancement dun processus en plus (en gros, je quitte toutes mes applis, il reste autant de swap, j'en relance une et hop je vois un ou deux fichiers détruts).
FiLH
-- Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle. Roland Barthes. http://www.filh.org
Paul Gaborit <Paul.Gaborit@invalid.invalid> wrote:
À (at) Mon, 19 Sep 2005 18:35:09 +0200,
patpro ~ patrick proniewski <patpro@boleskine.patpro.net> écrivait (wrote):
In article <r7ll1t2hta.fsf@vaugirard.enstimac.fr>,
Paul Gaborit <Paul.Gaborit@invalid.invalid> wrote:
Par définition, tous les processus utilisent le swap.
je la repose autrement :
comment savoir quels sont les process qui utilisent les fichiers de swap
surnuméraires (et qui sont responsables de la non-disparition de ceux
ci) ?
Les fichiers de swap sont partagés et utilisés par tous les processus
à la fois. Il n'y a pas de correspondance fixe entre le mémoire vue
par le processus et un endroit du disque utilisé par la mémoire
virtuelle.
Pour que les fichiers surnuméraires disparaissent, il faut que le taux
d'occupation *global* tombe en-dessous d'un seuil qui déclenche une
réorganisation des fichiers swap. Les taux sont paramètrés au
lancement de 'dynamic_pager'. Je ne suis pas sûr qu'on puisse les
changer au vol.
Il me semblait pourtant que justement sous OSX il y avait comme un vice
de conception ici qui faisait que justement un process pouvait
parfaitement bloquer une zone de swap dans un fichier d'un rang n et
empécher ainsi la libération des fichiers de rang inférieur
De plus, de ce que j'ai constaté, les fichiers ne disparaissent que lors
du lancement dun processus en plus (en gros, je quitte toutes mes
applis, il reste autant de swap, j'en relance une et hop je vois un ou
deux fichiers détruts).
FiLH
--
Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire
une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle.
Roland Barthes.
http://www.filh.org
À (at) Mon, 19 Sep 2005 18:35:09 +0200, patpro ~ patrick proniewski écrivait (wrote):
In article , Paul Gaborit wrote:
Par définition, tous les processus utilisent le swap.
je la repose autrement :
comment savoir quels sont les process qui utilisent les fichiers de swap surnuméraires (et qui sont responsables de la non-disparition de ceux ci) ?
Les fichiers de swap sont partagés et utilisés par tous les processus à la fois. Il n'y a pas de correspondance fixe entre le mémoire vue par le processus et un endroit du disque utilisé par la mémoire virtuelle.
Pour que les fichiers surnuméraires disparaissent, il faut que le taux d'occupation *global* tombe en-dessous d'un seuil qui déclenche une réorganisation des fichiers swap. Les taux sont paramètrés au lancement de 'dynamic_pager'. Je ne suis pas sûr qu'on puisse les changer au vol.
Il me semblait pourtant que justement sous OSX il y avait comme un vice de conception ici qui faisait que justement un process pouvait parfaitement bloquer une zone de swap dans un fichier d'un rang n et empécher ainsi la libération des fichiers de rang inférieur
De plus, de ce que j'ai constaté, les fichiers ne disparaissent que lors du lancement dun processus en plus (en gros, je quitte toutes mes applis, il reste autant de swap, j'en relance une et hop je vois un ou deux fichiers détruts).
FiLH
-- Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle. Roland Barthes. http://www.filh.org
Saïd
Xavier :
Saïd wrote:
jamais vu d'appel systeme permettant de savoir ou se trouve physiquement un segment de donnee
Il suffit de le demander gentiment à la MMU
Les appels système ad-hoc existaient sous MacOS Antic, m'étonnerait bien qu'il n'y ait pas ça dans Mach.
Les MacOS Antic c'est ceux ou une application pouvait se faire refouler au lancement parce qu'il ne restait pas assez de RAM physique disponible?
Bon je dois bien pouvoir trouver une liste de tous les appels systemes sous Mac OS X.
-- Saïd. C programmers never die - they're just cast into void.
Xavier :
Saïd <saidNo@spaMquatramaran.ens.france> wrote:
jamais vu d'appel systeme permettant de savoir ou se trouve physiquement un
segment de donnee
Il suffit de le demander gentiment à la MMU
Les appels système ad-hoc existaient sous MacOS Antic, m'étonnerait bien
qu'il n'y ait pas ça dans Mach.
Les MacOS Antic c'est ceux ou une application pouvait se faire refouler au
lancement parce qu'il ne restait pas assez de RAM physique disponible?
Bon je dois bien pouvoir trouver une liste de tous les appels systemes sous
Mac OS X.
--
Saïd.
C programmers never die - they're just cast into void.