Bonjour à tous,
J'ai commencé à m'interesser à l'etude de la mémoire utilisée (ou pas)
sous linux (noyau 2.4 , red hat et suse )
J essaye de mettre en place une supervision qui me permettrait de savoir
si la machine commence à etre limite coté memoire Vive. Sachant que de
tres nombreux process plus ou moins gourmands tournent sur le serveur
(oracle , java etc...)
D'apres les informations recoltées , je sais que la commande "free" est
une blague et qu'il est nécessaire de taper sur /proc/meminfo pour
connaitre la mémoire "immédiatement reallouable" autrement dit la
mémoire effectivement disponible à l instant T sur le serveur.
A priori il semblerait qu'il faille regarder "Inact_target" afin de
connaitre la mémoire reellement dispo.
En parallele j'ai lu ailleurs que Memoire libre = Buffers + Cached
(toujours dans /proc/meminfo)
Lorsque je tente d'analyser un serveur de production je vois ceci :
(/proc)>cat meminfo
total: used: free: shared: buffers: cached:
Mem: 2108510208 2083962880 24547328 0 5677056 1973755904
Swap: 2138562560 144998400 1993564160
MemTotal: 2059092 kB
MemFree: 23972 kB
MemShared: 0 kB
Buffers: 5544 kB
Cached: 1880324 kB
SwapCached: 47172 kB
Active: 1200628 kB
Inact_dirty: 709788 kB
Inact_clean: 22624 kB
Inact_target: 20 kB
HighTotal: 1179584 kB
HighFree: 14088 kB
LowTotal: 879508 kB
LowFree: 9884 kB
SwapTotal: 2088440 kB
SwapFree: 1946840 kB
Sur 2 Go , il ne resterait que 20 kilo de memoire libre sur ce Serveur
à en croire Inact_target ? O_o
Dois je ajouter Cached + Buffers pour me faire une idée de ma memoire
restante et prete à etre utilisée ?
J aurai tendance a dire que Cached et buffers sont des memoires qui sont
"utilisées" donc non disponibles.
Dois je faire une simple soustraction : MemTotale - Active pour me
faire une idée de ce qu'il me reste reellement à disposition ?
Bref, quelqu'un pourrait il m eclairer sur ma mémoire disponible et sur
un manque potentiel à ce niveau sur mon serveur ?
Bonjour à tous,
J'ai commencé à m'interesser à l'etude de la mémoire utilisée (ou pas)
sous linux (noyau 2.4 , red hat et suse )
J essaye de mettre en place une supervision qui me permettrait de savoir
si la machine commence à etre limite coté memoire Vive. Sachant que de
tres nombreux process plus ou moins gourmands tournent sur le serveur
(oracle , java etc...)
D'apres les informations recoltées , je sais que la commande "free" est
une blague et qu'il est nécessaire de taper sur /proc/meminfo pour
connaitre la mémoire "immédiatement reallouable" autrement dit la
mémoire effectivement disponible à l instant T sur le serveur.
A priori il semblerait qu'il faille regarder "Inact_target" afin de
connaitre la mémoire reellement dispo.
En parallele j'ai lu ailleurs que Memoire libre = Buffers + Cached
(toujours dans /proc/meminfo)
Lorsque je tente d'analyser un serveur de production je vois ceci :
(/proc)>cat meminfo
total: used: free: shared: buffers: cached:
Mem: 2108510208 2083962880 24547328 0 5677056 1973755904
Swap: 2138562560 144998400 1993564160
MemTotal: 2059092 kB
MemFree: 23972 kB
MemShared: 0 kB
Buffers: 5544 kB
Cached: 1880324 kB
SwapCached: 47172 kB
Active: 1200628 kB
Inact_dirty: 709788 kB
Inact_clean: 22624 kB
Inact_target: 20 kB
HighTotal: 1179584 kB
HighFree: 14088 kB
LowTotal: 879508 kB
LowFree: 9884 kB
SwapTotal: 2088440 kB
SwapFree: 1946840 kB
Sur 2 Go , il ne resterait que 20 kilo de memoire libre sur ce Serveur
à en croire Inact_target ? O_o
Dois je ajouter Cached + Buffers pour me faire une idée de ma memoire
restante et prete à etre utilisée ?
J aurai tendance a dire que Cached et buffers sont des memoires qui sont
"utilisées" donc non disponibles.
Dois je faire une simple soustraction : MemTotale - Active pour me
faire une idée de ce qu'il me reste reellement à disposition ?
Bref, quelqu'un pourrait il m eclairer sur ma mémoire disponible et sur
un manque potentiel à ce niveau sur mon serveur ?
Bonjour à tous,
J'ai commencé à m'interesser à l'etude de la mémoire utilisée (ou pas)
sous linux (noyau 2.4 , red hat et suse )
J essaye de mettre en place une supervision qui me permettrait de savoir
si la machine commence à etre limite coté memoire Vive. Sachant que de
tres nombreux process plus ou moins gourmands tournent sur le serveur
(oracle , java etc...)
D'apres les informations recoltées , je sais que la commande "free" est
une blague et qu'il est nécessaire de taper sur /proc/meminfo pour
connaitre la mémoire "immédiatement reallouable" autrement dit la
mémoire effectivement disponible à l instant T sur le serveur.
A priori il semblerait qu'il faille regarder "Inact_target" afin de
connaitre la mémoire reellement dispo.
En parallele j'ai lu ailleurs que Memoire libre = Buffers + Cached
(toujours dans /proc/meminfo)
Lorsque je tente d'analyser un serveur de production je vois ceci :
(/proc)>cat meminfo
total: used: free: shared: buffers: cached:
Mem: 2108510208 2083962880 24547328 0 5677056 1973755904
Swap: 2138562560 144998400 1993564160
MemTotal: 2059092 kB
MemFree: 23972 kB
MemShared: 0 kB
Buffers: 5544 kB
Cached: 1880324 kB
SwapCached: 47172 kB
Active: 1200628 kB
Inact_dirty: 709788 kB
Inact_clean: 22624 kB
Inact_target: 20 kB
HighTotal: 1179584 kB
HighFree: 14088 kB
LowTotal: 879508 kB
LowFree: 9884 kB
SwapTotal: 2088440 kB
SwapFree: 1946840 kB
Sur 2 Go , il ne resterait que 20 kilo de memoire libre sur ce Serveur
à en croire Inact_target ? O_o
Dois je ajouter Cached + Buffers pour me faire une idée de ma memoire
restante et prete à etre utilisée ?
J aurai tendance a dire que Cached et buffers sont des memoires qui sont
"utilisées" donc non disponibles.
Dois je faire une simple soustraction : MemTotale - Active pour me
faire une idée de ce qu'il me reste reellement à disposition ?
Bref, quelqu'un pourrait il m eclairer sur ma mémoire disponible et sur
un manque potentiel à ce niveau sur mon serveur ?
La mémoire immédiatement disponible est la mémoire "free" (comme son
nom l'indique). Les caches peuvent être libérés plus ou moins
rapidement en fonction des besoins.
La mémoire dite 'inactive' est allouée. Il me semble que le fait qu'elle
soit marqué inactive indique seulement qu'elle n'a pas été accédé
depuis un certain temps, donc qu'elle est toute désignée pour être
swappée (si c'est du code ou des données) ou libérée (si c'est du
cache) en cas de besoin.
La mémoire immédiatement disponible est la mémoire "free" (comme son
nom l'indique). Les caches peuvent être libérés plus ou moins
rapidement en fonction des besoins.
La mémoire dite 'inactive' est allouée. Il me semble que le fait qu'elle
soit marqué inactive indique seulement qu'elle n'a pas été accédé
depuis un certain temps, donc qu'elle est toute désignée pour être
swappée (si c'est du code ou des données) ou libérée (si c'est du
cache) en cas de besoin.
La mémoire immédiatement disponible est la mémoire "free" (comme son
nom l'indique). Les caches peuvent être libérés plus ou moins
rapidement en fonction des besoins.
La mémoire dite 'inactive' est allouée. Il me semble que le fait qu'elle
soit marqué inactive indique seulement qu'elle n'a pas été accédé
depuis un certain temps, donc qu'elle est toute désignée pour être
swappée (si c'est du code ou des données) ou libérée (si c'est du
cache) en cas de besoin.
La mémoire immédiatement disponible est la mémoire "free" (comme son
nom l'indique). Les caches peuvent être libérés plus ou moins
rapidement en fonction des besoins.
La mémoire dite 'inactive' est allouée. Il me semble que le fait qu'elle
soit marqué inactive indique seulement qu'elle n'a pas été accédé
depuis un certain temps, donc qu'elle est toute désignée pour être
swappée (si c'est du code ou des données) ou libérée (si c'est du
cache) en cas de besoin.
La mémoire immédiatement disponible est la mémoire "free" (comme son
nom l'indique). Les caches peuvent être libérés plus ou moins
rapidement en fonction des besoins.
La mémoire dite 'inactive' est allouée. Il me semble que le fait qu'elle
soit marqué inactive indique seulement qu'elle n'a pas été accédé
depuis un certain temps, donc qu'elle est toute désignée pour être
swappée (si c'est du code ou des données) ou libérée (si c'est du
cache) en cas de besoin.
La mémoire immédiatement disponible est la mémoire "free" (comme son
nom l'indique). Les caches peuvent être libérés plus ou moins
rapidement en fonction des besoins.
La mémoire dite 'inactive' est allouée. Il me semble que le fait qu'elle
soit marqué inactive indique seulement qu'elle n'a pas été accédé
depuis un certain temps, donc qu'elle est toute désignée pour être
swappée (si c'est du code ou des données) ou libérée (si c'est du
cache) en cas de besoin.
La mémoire immédiatement disponible est la mémoire "free" (comme son
nom l'indique). Les caches peuvent être libérés plus ou moins
rapidement en fonction des besoins.
La mémoire dite 'inactive' est allouée. Il me semble que le fait qu'elle
soit marqué inactive indique seulement qu'elle n'a pas été accédé
depuis un certain temps, donc qu'elle est toute désignée pour être
swappée (si c'est du code ou des données) ou libérée (si c'est du
cache) en cas de besoin.
2 petites questions suplémentaires :o)
1)
J'ai mis en place une surveillance sur les valeurs HighFree et LowFree
de /proc/meminfo sur un serveur sur lequel tournent de nombreux
process Java (tomcat) , httpd ...
Je me retrouve avec une memoire disponible de 22 Mo sur 1,5 Go de
Memoire au totale.
==> Dois je en conclure que mon serveur est à la ramasse concernant la
memoire ???
2)
Autre chose, si je fais le cumul des valeurs 'VmRSS' des fichiers
/proc/PID/status du serveur j'obtiens 663 Mo .
J'imagine que le reste de la memoire n est pas non plus totalement libre...
Comment puis je obtenir ma memoire totale a partir de cette memoire
utilisée par mes process ?
Process (663 Mo) + Cached ? ( 576 Mo ) + Buffers ( 40 Mo )
J'ai des difficulté à retrouver une certaine cohérence dans tout ca .
/proc/meminfo :
MemTotal: 1545088 kB
MemFree: 22860 kB
MemShared: 0 kB
Buffers: 39668 kB
Cached: 576704 kB
SwapCached: 258468 kB
Active: 973220 kB
ActiveAnon: 597296 kB
ActiveCache: 375924 kB
Inact_dirty: 0 kB
Inact_laundry: 215840 kB
Inact_clean: 24232 kB
Inact_target: 242656 kB
HighTotal: 655336 kB
HighFree: 2108 kB
LowTotal: 889752 kB
LowFree: 20752 kB
SwapTotal: 2044072 kB
SwapFree: 1670784 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
La mémoire immédiatement disponible est la mémoire "free" (comme son
nom l'indique). Les caches peuvent être libérés plus ou moins
rapidement en fonction des besoins.
La mémoire dite 'inactive' est allouée. Il me semble que le fait qu'elle
soit marqué inactive indique seulement qu'elle n'a pas été accédé
depuis un certain temps, donc qu'elle est toute désignée pour être
swappée (si c'est du code ou des données) ou libérée (si c'est du
cache) en cas de besoin.
2 petites questions suplémentaires :o)
1)
J'ai mis en place une surveillance sur les valeurs HighFree et LowFree
de /proc/meminfo sur un serveur sur lequel tournent de nombreux
process Java (tomcat) , httpd ...
Je me retrouve avec une memoire disponible de 22 Mo sur 1,5 Go de
Memoire au totale.
==> Dois je en conclure que mon serveur est à la ramasse concernant la
memoire ???
2)
Autre chose, si je fais le cumul des valeurs 'VmRSS' des fichiers
/proc/PID/status du serveur j'obtiens 663 Mo .
J'imagine que le reste de la memoire n est pas non plus totalement libre...
Comment puis je obtenir ma memoire totale a partir de cette memoire
utilisée par mes process ?
Process (663 Mo) + Cached ? ( 576 Mo ) + Buffers ( 40 Mo )
J'ai des difficulté à retrouver une certaine cohérence dans tout ca .
/proc/meminfo :
MemTotal: 1545088 kB
MemFree: 22860 kB
MemShared: 0 kB
Buffers: 39668 kB
Cached: 576704 kB
SwapCached: 258468 kB
Active: 973220 kB
ActiveAnon: 597296 kB
ActiveCache: 375924 kB
Inact_dirty: 0 kB
Inact_laundry: 215840 kB
Inact_clean: 24232 kB
Inact_target: 242656 kB
HighTotal: 655336 kB
HighFree: 2108 kB
LowTotal: 889752 kB
LowFree: 20752 kB
SwapTotal: 2044072 kB
SwapFree: 1670784 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
La mémoire immédiatement disponible est la mémoire "free" (comme son
nom l'indique). Les caches peuvent être libérés plus ou moins
rapidement en fonction des besoins.
La mémoire dite 'inactive' est allouée. Il me semble que le fait qu'elle
soit marqué inactive indique seulement qu'elle n'a pas été accédé
depuis un certain temps, donc qu'elle est toute désignée pour être
swappée (si c'est du code ou des données) ou libérée (si c'est du
cache) en cas de besoin.
2 petites questions suplémentaires :o)
1)
J'ai mis en place une surveillance sur les valeurs HighFree et LowFree
de /proc/meminfo sur un serveur sur lequel tournent de nombreux
process Java (tomcat) , httpd ...
Je me retrouve avec une memoire disponible de 22 Mo sur 1,5 Go de
Memoire au totale.
==> Dois je en conclure que mon serveur est à la ramasse concernant la
memoire ???
2)
Autre chose, si je fais le cumul des valeurs 'VmRSS' des fichiers
/proc/PID/status du serveur j'obtiens 663 Mo .
J'imagine que le reste de la memoire n est pas non plus totalement libre...
Comment puis je obtenir ma memoire totale a partir de cette memoire
utilisée par mes process ?
Process (663 Mo) + Cached ? ( 576 Mo ) + Buffers ( 40 Mo )
J'ai des difficulté à retrouver une certaine cohérence dans tout ca .
/proc/meminfo :
MemTotal: 1545088 kB
MemFree: 22860 kB
MemShared: 0 kB
Buffers: 39668 kB
Cached: 576704 kB
SwapCached: 258468 kB
Active: 973220 kB
ActiveAnon: 597296 kB
ActiveCache: 375924 kB
Inact_dirty: 0 kB
Inact_laundry: 215840 kB
Inact_clean: 24232 kB
Inact_target: 242656 kB
HighTotal: 655336 kB
HighFree: 2108 kB
LowTotal: 889752 kB
LowFree: 20752 kB
SwapTotal: 2044072 kB
SwapFree: 1670784 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
Ce qu'il faut bien garder en mémoire (!), c'est que la notion de mémoire
libre n'a pas grand sens sur un OS moderne. Le but d'un OS efficace est
d'avoir le moins possible de mémoire libre ! Et le fait d'avoir de la
mémoire libre ne garanti jamais qu'on peut allouer cette mémoire: comme
l'execution des process est préemptive, il suffit qu'un autre process
écrive dans une page (qu'il peut avoir mappé depuis très longtemps)
pour que la mémoire physique disponible diminue. Par conséquent, il est
impossible d'avoir la garantie de pouvoir allouer de la mémoire (quelle
que soit la taille du bloc demandé) à un instant donné. Sous Linux,
c'est même pire: il n'y a aucune garantie qu'on pourra effectivement
accéder à une page qu'on a demandé au noyau. En effet, lorsqu'on
demande une page au noyau, celui ci ne l'alloue jamais. L'allocation n'est
faite que si on accède réellement à cette zone de mémoire. Il est donc
tout à fait possible d'allouer de la mémoire et de se prendre une
SEGFAULT au premier accès parce qu'il n'y a plus de mémoire physique
disponible pour allouer physiquement la page à cet instant là (c'est
bien sur heureusement très rare).
Les statistiques sur la mémoire sont donc des indications utiles, mais à
manier avec beaucoup de précautions...
Ce qu'il faut bien garder en mémoire (!), c'est que la notion de mémoire
libre n'a pas grand sens sur un OS moderne. Le but d'un OS efficace est
d'avoir le moins possible de mémoire libre ! Et le fait d'avoir de la
mémoire libre ne garanti jamais qu'on peut allouer cette mémoire: comme
l'execution des process est préemptive, il suffit qu'un autre process
écrive dans une page (qu'il peut avoir mappé depuis très longtemps)
pour que la mémoire physique disponible diminue. Par conséquent, il est
impossible d'avoir la garantie de pouvoir allouer de la mémoire (quelle
que soit la taille du bloc demandé) à un instant donné. Sous Linux,
c'est même pire: il n'y a aucune garantie qu'on pourra effectivement
accéder à une page qu'on a demandé au noyau. En effet, lorsqu'on
demande une page au noyau, celui ci ne l'alloue jamais. L'allocation n'est
faite que si on accède réellement à cette zone de mémoire. Il est donc
tout à fait possible d'allouer de la mémoire et de se prendre une
SEGFAULT au premier accès parce qu'il n'y a plus de mémoire physique
disponible pour allouer physiquement la page à cet instant là (c'est
bien sur heureusement très rare).
Les statistiques sur la mémoire sont donc des indications utiles, mais à
manier avec beaucoup de précautions...
Ce qu'il faut bien garder en mémoire (!), c'est que la notion de mémoire
libre n'a pas grand sens sur un OS moderne. Le but d'un OS efficace est
d'avoir le moins possible de mémoire libre ! Et le fait d'avoir de la
mémoire libre ne garanti jamais qu'on peut allouer cette mémoire: comme
l'execution des process est préemptive, il suffit qu'un autre process
écrive dans une page (qu'il peut avoir mappé depuis très longtemps)
pour que la mémoire physique disponible diminue. Par conséquent, il est
impossible d'avoir la garantie de pouvoir allouer de la mémoire (quelle
que soit la taille du bloc demandé) à un instant donné. Sous Linux,
c'est même pire: il n'y a aucune garantie qu'on pourra effectivement
accéder à une page qu'on a demandé au noyau. En effet, lorsqu'on
demande une page au noyau, celui ci ne l'alloue jamais. L'allocation n'est
faite que si on accède réellement à cette zone de mémoire. Il est donc
tout à fait possible d'allouer de la mémoire et de se prendre une
SEGFAULT au premier accès parce qu'il n'y a plus de mémoire physique
disponible pour allouer physiquement la page à cet instant là (c'est
bien sur heureusement très rare).
Les statistiques sur la mémoire sont donc des indications utiles, mais à
manier avec beaucoup de précautions...
La question départ etant :
A partir de <<quand>> , sur un serveur critique linux, peut on dire :
"Houla... il va falloir penser à programmer un arret du serveur pour lui
rajouter XXX Mo/Go de RAM "
Avec une preuve à l appui du besoin.
Bref , une supervision préventive du serveur comme peut l'exiger tout DI
sur une utilisation linux en entreprise.
La question départ etant :
A partir de <<quand>> , sur un serveur critique linux, peut on dire :
"Houla... il va falloir penser à programmer un arret du serveur pour lui
rajouter XXX Mo/Go de RAM "
Avec une preuve à l appui du besoin.
Bref , une supervision préventive du serveur comme peut l'exiger tout DI
sur une utilisation linux en entreprise.
La question départ etant :
A partir de <<quand>> , sur un serveur critique linux, peut on dire :
"Houla... il va falloir penser à programmer un arret du serveur pour lui
rajouter XXX Mo/Go de RAM "
Avec une preuve à l appui du besoin.
Bref , une supervision préventive du serveur comme peut l'exiger tout DI
sur une utilisation linux en entreprise.
"Houla... il va falloir penser à programmer un arret du serveur pour
lui rajouter XXX Mo/Go de RAM "
Avec une preuve à l appui du besoin.
Tout simplement à partir du moment où le système commence à montrer des
signes de faiblesses suite à une utilisation importante et fréquente du
swap ?Bref , une supervision préventive du serveur comme peut l'exiger tout
DI sur une utilisation linux en entreprise.
La commande free répond à ça.
"Houla... il va falloir penser à programmer un arret du serveur pour
lui rajouter XXX Mo/Go de RAM "
Avec une preuve à l appui du besoin.
Tout simplement à partir du moment où le système commence à montrer des
signes de faiblesses suite à une utilisation importante et fréquente du
swap ?
Bref , une supervision préventive du serveur comme peut l'exiger tout
DI sur une utilisation linux en entreprise.
La commande free répond à ça.
"Houla... il va falloir penser à programmer un arret du serveur pour
lui rajouter XXX Mo/Go de RAM "
Avec une preuve à l appui du besoin.
Tout simplement à partir du moment où le système commence à montrer des
signes de faiblesses suite à une utilisation importante et fréquente du
swap ?Bref , une supervision préventive du serveur comme peut l'exiger tout
DI sur une utilisation linux en entreprise.
La commande free répond à ça.
"Houla... il va falloir penser à programmer un arret du serveur pour
lui rajouter XXX Mo/Go de RAM "
Avec une preuve à l appui du besoin.
Tout simplement à partir du moment où le système commence à montrer des
signes de faiblesses suite à une utilisation importante et fréquente du
swap ?Bref , une supervision préventive du serveur comme peut l'exiger tout
DI sur une utilisation linux en entreprise.
La commande free répond à ça.
oui... effectivement. Vu la situation , il semble que seul le swap
semble permettre de se faire une opinion sur un manque eventuel de RAM.
Mais encore une fois, comme j'ai lu a droite à gauche , linux utilise
toutes les ressources qu'on lui donne. Et la swap en est une.
Si linux swappe parfois sur disque des choses lorsque ces dernieres ne
sont plus tres utilisées (Inact_target etc...) , ca ne signifie pas
pour autant que c est du à un manque evident de mémoire.
Donc l'analyse du swap pour savoir si on est face à un manque de memoire
ne semble pas si evident que ca j'ai l impression.
Cas concret d'un serveur linux : (2 Go de RAM)
meminfo :
Inact_dirty: 601348 kB
Inact_clean: 28240 kB
Inact_target: 13404 kB
Commande Free : Swap: 2088440(total) 141640(used)
1946800(free)
J'ai l impression que ce serveur serait donc limite en memoire face à
cette facon de voir les choses ?
"Houla... il va falloir penser à programmer un arret du serveur pour
lui rajouter XXX Mo/Go de RAM "
Avec une preuve à l appui du besoin.
Tout simplement à partir du moment où le système commence à montrer des
signes de faiblesses suite à une utilisation importante et fréquente du
swap ?
Bref , une supervision préventive du serveur comme peut l'exiger tout
DI sur une utilisation linux en entreprise.
La commande free répond à ça.
oui... effectivement. Vu la situation , il semble que seul le swap
semble permettre de se faire une opinion sur un manque eventuel de RAM.
Mais encore une fois, comme j'ai lu a droite à gauche , linux utilise
toutes les ressources qu'on lui donne. Et la swap en est une.
Si linux swappe parfois sur disque des choses lorsque ces dernieres ne
sont plus tres utilisées (Inact_target etc...) , ca ne signifie pas
pour autant que c est du à un manque evident de mémoire.
Donc l'analyse du swap pour savoir si on est face à un manque de memoire
ne semble pas si evident que ca j'ai l impression.
Cas concret d'un serveur linux : (2 Go de RAM)
meminfo :
Inact_dirty: 601348 kB
Inact_clean: 28240 kB
Inact_target: 13404 kB
Commande Free : Swap: 2088440(total) 141640(used)
1946800(free)
J'ai l impression que ce serveur serait donc limite en memoire face à
cette facon de voir les choses ?
"Houla... il va falloir penser à programmer un arret du serveur pour
lui rajouter XXX Mo/Go de RAM "
Avec une preuve à l appui du besoin.
Tout simplement à partir du moment où le système commence à montrer des
signes de faiblesses suite à une utilisation importante et fréquente du
swap ?Bref , une supervision préventive du serveur comme peut l'exiger tout
DI sur une utilisation linux en entreprise.
La commande free répond à ça.
oui... effectivement. Vu la situation , il semble que seul le swap
semble permettre de se faire une opinion sur un manque eventuel de RAM.
Mais encore une fois, comme j'ai lu a droite à gauche , linux utilise
toutes les ressources qu'on lui donne. Et la swap en est une.
Si linux swappe parfois sur disque des choses lorsque ces dernieres ne
sont plus tres utilisées (Inact_target etc...) , ca ne signifie pas
pour autant que c est du à un manque evident de mémoire.
Donc l'analyse du swap pour savoir si on est face à un manque de memoire
ne semble pas si evident que ca j'ai l impression.
Cas concret d'un serveur linux : (2 Go de RAM)
meminfo :
Inact_dirty: 601348 kB
Inact_clean: 28240 kB
Inact_target: 13404 kB
Commande Free : Swap: 2088440(total) 141640(used)
1946800(free)
J'ai l impression que ce serveur serait donc limite en memoire face à
cette facon de voir les choses ?
On Thu, 07 Apr 2005 17:27:44 +0200, bill wrote:Donc l'analyse du swap pour savoir si on est face à un manque de memoire
ne semble pas si evident que ca j'ai l impression.
Si. Ce qu'il faut regarder, c'est si les taux de transfert entre le swap
et la RAM se mettent à augmenter. Si Linux commence à utiliser beaucoup
le swap, il y a un problème. Attention: utiliser beaucoup le swap ne veut
pas dire utiliser beaucoup de place en swap, ça veut dire faire beaucoup
de trafic entre la RAM et le swap.
On Thu, 07 Apr 2005 17:27:44 +0200, bill wrote:
Donc l'analyse du swap pour savoir si on est face à un manque de memoire
ne semble pas si evident que ca j'ai l impression.
Si. Ce qu'il faut regarder, c'est si les taux de transfert entre le swap
et la RAM se mettent à augmenter. Si Linux commence à utiliser beaucoup
le swap, il y a un problème. Attention: utiliser beaucoup le swap ne veut
pas dire utiliser beaucoup de place en swap, ça veut dire faire beaucoup
de trafic entre la RAM et le swap.
On Thu, 07 Apr 2005 17:27:44 +0200, bill wrote:Donc l'analyse du swap pour savoir si on est face à un manque de memoire
ne semble pas si evident que ca j'ai l impression.
Si. Ce qu'il faut regarder, c'est si les taux de transfert entre le swap
et la RAM se mettent à augmenter. Si Linux commence à utiliser beaucoup
le swap, il y a un problème. Attention: utiliser beaucoup le swap ne veut
pas dire utiliser beaucoup de place en swap, ça veut dire faire beaucoup
de trafic entre la RAM et le swap.
On Thu, 07 Apr 2005 17:27:44 +0200, bill wrote:Donc l'analyse du swap pour savoir si on est face à un manque de memoire
ne semble pas si evident que ca j'ai l impression.
Si. Ce qu'il faut regarder, c'est si les taux de transfert entre le swap
et la RAM se mettent à augmenter. Si Linux commence à utiliser beaucoup
le swap, il y a un problème. Attention: utiliser beaucoup le swap ne veut
pas dire utiliser beaucoup de place en swap, ça veut dire faire beaucoup
de trafic entre la RAM et le swap.
vmstat est notre ami... Déjà, c'est fait pour ça, et puis on retrouve
les champs swapin et swapout... Bref, si on a une activité importante en
si et so (le nom des colonnes concernées) on peut en déduire un manque
de mémoire. Maintenant reste à voir si c'est un pic ponctuel ou un
manque de mémoire à plus ou moins long terme...
On Thu, 07 Apr 2005 17:27:44 +0200, bill wrote:
Donc l'analyse du swap pour savoir si on est face à un manque de memoire
ne semble pas si evident que ca j'ai l impression.
Si. Ce qu'il faut regarder, c'est si les taux de transfert entre le swap
et la RAM se mettent à augmenter. Si Linux commence à utiliser beaucoup
le swap, il y a un problème. Attention: utiliser beaucoup le swap ne veut
pas dire utiliser beaucoup de place en swap, ça veut dire faire beaucoup
de trafic entre la RAM et le swap.
vmstat est notre ami... Déjà, c'est fait pour ça, et puis on retrouve
les champs swapin et swapout... Bref, si on a une activité importante en
si et so (le nom des colonnes concernées) on peut en déduire un manque
de mémoire. Maintenant reste à voir si c'est un pic ponctuel ou un
manque de mémoire à plus ou moins long terme...
On Thu, 07 Apr 2005 17:27:44 +0200, bill wrote:Donc l'analyse du swap pour savoir si on est face à un manque de memoire
ne semble pas si evident que ca j'ai l impression.
Si. Ce qu'il faut regarder, c'est si les taux de transfert entre le swap
et la RAM se mettent à augmenter. Si Linux commence à utiliser beaucoup
le swap, il y a un problème. Attention: utiliser beaucoup le swap ne veut
pas dire utiliser beaucoup de place en swap, ça veut dire faire beaucoup
de trafic entre la RAM et le swap.
vmstat est notre ami... Déjà, c'est fait pour ça, et puis on retrouve
les champs swapin et swapout... Bref, si on a une activité importante en
si et so (le nom des colonnes concernées) on peut en déduire un manque
de mémoire. Maintenant reste à voir si c'est un pic ponctuel ou un
manque de mémoire à plus ou moins long terme...