315 votes

Comment puis-je surveiller l'utilisation de la mémoire ?

J'ai utilisé top pour voir l'utilisation de la mémoire en ce moment. Mais je voudrais surveiller l'utilisation de la mémoire sur une période de temps. Par exemple, lancer la surveillance, puis exécuter quelques commandes, et enfin arrêter la surveillance et voir combien de mémoire a été utilisée pendant cette période.

Comment puis-je faire cela sur le serveur Ubuntu ?

Je suppose que je pourrais lancer un cronjob toutes les 5 secondes environ, et invoquer une commande qui enregistre l'utilisation actuelle de la mémoire dans un fichier texte. Mais quelle commande dois-je utiliser pour obtenir l'utilisation actuelle de la mémoire dans un format facile à enregistrer dans un fichier texte ?

383voto

Quibblesome Points 14441

Je recommande de combiner les réponses précédentes

watch -n 5 free -m

Notez que Linux aime utiliser toute mémoire supplémentaire pour blocs de disque dur en cachette . Donc, vous ne voulez pas regarder seulement le gratuit. Mem . Vous voulez regarder le free de la colonne -/+ buffers/cache: rang. Cela montre combien de mémoire est disponible pour les applications. Donc j'ai juste lancé free -m et j'ai obtenu ceci :

             total       used       free     shared    buffers     cached
Mem:          3699       2896        802          0        247       1120
-/+ buffers/cache:       1528       2170
Swap:         1905         62       1843

Je sais que j'utilise 1528 MB et ont 2170 MB gratuit.

Note : Pour arrêter cela watch vous pouvez simplement appuyer sur Ctrl + C .

254voto

Alvar Points 16338

Je pense htop est la meilleure solution.

  • sudo apt-get install htop

De cette façon, vous remarquerez quels programmes utilisent le plus de RAM et vous pourrez facilement en arrêter un si vous le souhaitez. Voici une capture d'écran !

49voto

Si vous cherchez une bonne ventilation de la mémoire utilisée par chaque processus en cours d'exécution, je vous recommande de consulter le site suivant ps_mem.py (trouvé aquí à pixelbeat.org).

Je sais que dans les commentaires ci-dessus, vous avez mentionné vouloir un instantané d'une ligne de gratuit mais j'ai pensé que d'autres pourraient trouver ça utile.

Exemple de sortie :

user@system:~$ sudo ps_mem.py
[sudo] password for user:
 Private  +   Shared  =  RAM used       Program

  4.0 KiB +   7.5 KiB =  11.5 KiB       logger
  4.0 KiB +   8.0 KiB =  12.0 KiB       mysqld_safe
  4.0 KiB +  10.0 KiB =  14.0 KiB       getty
  4.0 KiB +  42.0 KiB =  46.0 KiB       saslauthd (5)
 48.0 KiB +  13.0 KiB =  61.0 KiB       init
 56.0 KiB +  27.5 KiB =  83.5 KiB       memcached
 84.0 KiB +  26.5 KiB = 110.5 KiB       cron
120.0 KiB +  50.0 KiB = 170.0 KiB       master
204.0 KiB + 107.5 KiB = 311.5 KiB       qmgr
396.0 KiB +  94.0 KiB = 490.0 KiB       tlsmgr
460.0 KiB +  65.0 KiB = 525.0 KiB       rsyslogd
384.0 KiB + 171.0 KiB = 555.0 KiB       sudo
476.0 KiB +  83.0 KiB = 559.0 KiB       monit
568.0 KiB +  60.0 KiB = 628.0 KiB       freshclam
552.0 KiB + 259.5 KiB = 811.5 KiB       pickup
  1.1 MiB +  80.0 KiB =   1.2 MiB       bash
  1.4 MiB + 308.5 KiB =   1.7 MiB       fail2ban-server
888.0 KiB +   1.0 MiB =   1.9 MiB       sshd (3)
  1.9 MiB +  32.5 KiB =   1.9 MiB       munin-node
 13.1 MiB +  86.0 KiB =  13.2 MiB       mysqld
147.4 MiB +  36.5 MiB = 183.9 MiB       apache2 (7)
---------------------------------
                        208.1 MiB
=================================

 Private  +   Shared  =  RAM used       Program

La seule partie que je n'aime pas est le fait que le script prétend nécessiter des privilèges root. Je n'ai pas encore eu l'occasion de voir exactement pourquoi c'est le cas.

26voto

Craig Smitham Points 522

Utilisez le gratuit commande. Par exemple, voici le résultat de free -m :

             total       used       free     shared    buffers     cached
Mem:          2012       1666        345          0        101        616
-/+ buffers/cache:        947       1064
Swap:         7624          0       7624

free -m | grep /+ ne retournera que la deuxième ligne :

-/+ buffers/cache:        947       1064

13voto

Tom Points 1115

Le site regarder peut être utile. Essayez watch -n 5 free pour surveiller l'utilisation de la mémoire avec des mises à jour toutes les cinq secondes.

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