51 votes

Que signifie "cached" dans la première commande ?

En cours d'exécution top j'obtiens :

top - 09:10:52 up 18:37,  1 user,  load average: 1.56, 1.33, 1.15
Tasks:  39 total,   1 running,  38 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.6%sy,  1.0%ni, 92.5%id,  5.8%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4194304k total,  3045460k used,  1148844k free,        0k buffers
Swap:        0k total,        0k used,        0k free,  2256128k cached

Vous voyez la partie : 2256128k en cache ? Qu'est-ce que cela signifie exactement ?

Je compare deux VPS de deux fournisseurs, celui-ci a toujours une grande quantité (70% de la mémoire utilisée) et l'autre fournisseur de VPS affiche toujours 0.

126voto

roadmr Points 32606

Le noyau Linux utilisera la mémoire disponible pour la mise en cache du disque, à moins qu'un programme en cours d'exécution ne l'exige.

C'est considéré comme une bonne chose ; disons que vous avez 4 Go de RAM et que vos programmes n'utilisent que 1 Go. Les 3 autres Go sont gaspillés. Malgré l'impression de bien-être que procure le fait de savoir que vous n'utilisez que 25 % de votre mémoire, la contrepartie est que les 75 % restants sont inutilisés. Le noyau les utilise donc pour mettre en cache des fichiers, ce qui améliore considérablement les performances. C'est automatique ; contrairement aux anciens systèmes d'exploitation, vous n'avez pas besoin de décider de la quantité de mémoire à consacrer au cache disque, ni de la configurer manuellement.

"Le cache disque de Linux est très discret. Il utilise la mémoire disponible pour augmenter considérablement la vitesse d'accès au disque, sans pour autant retirer de la mémoire aux applications. Une mémoire vive entièrement utilisée sous Linux est une utilisation efficace du matériel, et non un signe d'avertissement".

Cette question est si fréquente qu'un site web entier lui est consacré :

http://www.linuxatemyram.com

Le site web propose même un moyen de vider la mémoire cache du disque, ce qui permet d'exécuter certaines applications et de voir à quel point elles sont plus rapides lorsque la mémoire cache est activée :)

19voto

Ce nombre avant la mise en cache correspond à la quantité de mémoire physique utilisée par les tampons de cache pour vos systèmes de fichiers.

C'est pas réellement liés à SWAP, bien qu'ils figurent sur la ligne "Swap :".

Pour vérifier ma réponse à l'aide d'une petite expérience, essayez ce qui suit :

Exécutez top et notez la valeur de 'cached'. Exécutez maintenant

dd if=/dev/zero of=~/trick bs=1M count=128

Si vous exécutez à nouveau top, vous remarquerez que 'cached' a augmenté de 128M

Supprimez maintenant le fichier

rm ~/trick

Exécutez à nouveau top et vous verrez que 'cached' a diminué de 128M

Ainsi, pour Mem :

total = used + free y

used = <all apps> + buffers + cached

(où les tampons sont essentiellement métadonnées pour la mémoire cache). L'interface utilisateur est un peu confuse.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X