J'ai utilisé top
pour voir l'utilisation de la mémoire au moment présent. Mais je voudrais surveiller l'utilisation de la mémoire sur une période de temps. Par exemple, démarrer 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 un 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 ?
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 [mettre en cache les blocs du disque dur] (http://www.linuxhowtos.org/System/Linux%20Memory%20Management.htm). Vous ne voulez donc pas regarder uniquement la Mem
libre. Vous voulez regarder la colonne free
de la ligne -/+ buffers/cache:
. 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 Mo et que 2170 Mo sont libres.
**Remarque : Pour arrêter le cycle de la montre, vous pouvez simplement appuyer sur Ctrl+C.
Utilisez la commande [free][1].
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
La commande [watch][1] peut être utile. Essayez watch -n 5 free
pour surveiller l'utilisation de la mémoire avec des mises à jour toutes les cinq secondes.
[1] : http://beerpla.net/2007/08/04/watch-a-useful-linux-command-you-may-have-never-heard-of/