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 ?

1voto

SimplisticSpeed Points 11

Surveillance de l'utilisation de la mémoire

Je suis plutôt d'accord avec l'un des messages précédents qui mentionnait Cacti comme un excellent moyen de surveiller l'utilisation de la mémoire. Cependant, comme il semble que Cacti ne soit plus populaire dans le grand public, il existe une autre application graphique appelée Graphite.

Graphite est relativement facile à installer sur un serveur ubuntu et pour l'installer, vous pouvez consultez ce lien pour les procédures d'installation faciles à suivre.

Une fois graphite installé, vous pouvez lui envoyer des mesures de la mémoire, à l'intervalle de votre choix : toutes les 5 secondes, toutes les minutes, toutes les heures... etc.

Pour représenter graphiquement les métriques de la mémoire, comme déjà suggéré dans les posts précédents, vous pouvez écrire votre propre script en utilisant les outils du système pour rassembler les informations nécessaires sur la mémoire. Ou bien, vous pouvez utiliser un plugin snmp pré-écrit qui fera tout le travail pour vous.

Si vous souhaitez écrire votre propre script, il sera judicieux de vous assurer que vous tenez compte de la mémoire tampon et de la mémoire cache lors du calcul de la mémoire utilisée, sinon, vous finirez par recueillir des données erronées.

Si vous souhaitez plutôt utiliser un plugin snmp qui fait déjà tous les calculs nécessaires pour vous, voici un lien vers un qui fonctionne assez bien : checkMemoryviaSNMP .

Les avantages de SNMP :

J'ai installé snmp sur tous les nœuds distants que je surveille. Cela me permet de surveiller tous mes systèmes depuis un ou plusieurs serveurs centraux sans avoir à copier ou à installer un plugin sur les nœuds distants.

Les inconvénients de SNMP :

Vous devez vous assurer que le agent snmp est installé sur chacun des nœuds distants sur lesquels vous souhaitez surveiller la mémoire. Cependant, cette installation ne se fera qu'une seule fois. Si vous utilisez des outils d'automatisation tels que chef ou Puppet ou des outils similaires dans votre environnement, ce n'est pas un problème du tout.

Configuration de l'agent SNMP sur le(s) nœud(s) distant(s) :

Après l'installation de l'agent snmp, il suffit de vi le fichier /etc/snmpd/snmpd.conf et d'y ajouter cette ligne :

rocommunity  (specify-a-community-string-aka-password-here)

Puis redémarrez l'agent snmpd, avec :

/etc/init.d/snmpd restart

Ensuite, sur votre serveur central, à partir duquel vous souhaitez surveiller tous vos autres serveurs, vous pouvez exécuter la commande suivante :

$ time ./checkMemoryviaSNMP -v2 public gearman001.phs.blah.com 30 90 graphite,10.10.10.10,2003,typical
WARNING: Used = [ 3.26154 GB ], Installed = [ 5.71509 GB ], PCT.Used = [ 57.069% ], Available.Memory = [ 2.00291 GB ]. Buffer = [ 137.594 MB ], Cached = [ 1.3849 GB ]. Thresholds: [ W=(30%) / C=(90%) ].  System Information = [ Linux gearman001.phs.blah.com 2.6.32-504.30.3.el6.x86_64 #1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64 ].

real    0m0.23s
user    0m0.03s
sys     0m0.02s

0voto

bit_scientist Points 279

glances est une autre bonne option à essayer. Juste pip install Glances ou à télécharger à partir de aquí

0voto

Yury Points 101

Dactylographie free dans votre terminal de commande donne le résultat suivant :

Les données représentent la mémoire utilisée/disponible et les chiffres de la mémoire d'échange en kilo-octets.

total - Mémoire totale installée

utilisé - Mémoire actuellement utilisée par les processus en cours (used= total - free - buff/cache)

gratuit - Mémoire non utilisée (free= total - used - buff/cache)

partagé - Mémoire partagée par plusieurs processus

tampons - Mémoire réservée par le système d'exploitation pour être allouée comme tampon lorsque le processus en a besoin.

en cachette - Fichiers récemment utilisés stockés dans la RAM

buff/cache - Tampons + Cache

disponible sur - Estimation de la quantité de mémoire disponible pour le démarrage de nouvelles applications, sans swapping.

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