J'ai l'habitude top
de voir l'utilisation de la mémoire pour le moment. Mais j'aimerais surveiller l'utilisation de la mémoire sur une période donnée. Par exemple, lancez la surveillance, puis exécutez quelques commandes et arrêtez-la pour voir combien de mémoire a été utilisée pendant la période.
Comment puis-je faire cela sur Ubuntu Server?
Je suppose que je pourrais commencer une tâche cron 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?
2896
et ensuite1528
sur les tampons, cela ne signifie-t-il pas que vous utilisez2896 + 1528
?Mem: used
est votre mémoire totale utilisée.-/+ buffers/cache: used
est votre mémoire totale utilisée moins les tampons et le cache. Je sais que la sortie a l'air drôle, mais aucune arithmétique n'est requise ici. Vous recherchez juste / free dans la rangée - / + buffers / cache.free -h
, par exemple,watch -n 5 free -h
pour obtenir une sortie "lisible par l'homme", par exemple2.1G
au lieu de2170
dans la sortie.Je pense que
htop
c'est la meilleure solution.sudo apt-get install htop
De cette façon, vous remarquerez quels programmes utilisent le plus de RAM. et vous pouvez facilement en terminer un si vous le souhaitez. Voici une capture d'écran!
la source
htop
C'est bien parce que c'est plus "graphique" et peut-être plus facile à lire quefree
.RES
mémoire utilisée par cette application est-elle en Mo? Alors qu'est-ce que c'estSHR
?htop
vous montre- t -il «l'utilisation de la mémoire sur une période donnée»?Si vous recherchez une répartition précise de la mémoire utilisée par chaque processus en cours d'exécution, je vous conseillerais donc de consulter ps_mem.py ( disponible à l'adresse pixelbeat.org).
Je sais que dans les commentaires ci-dessus, vous avez indiqué vouloir un instantané d’une seule ligne de free , mais j’ai pensé que cela pourrait être utile à d’autres.
Exemple de sortie:
La seule partie que je n'aime pas, c'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.
la source
pip install ps_mem
) et sur GitHub .Utilisez la commande free . Par exemple, ceci est la sortie de
free -m
:free -m | grep /+
renverra uniquement la deuxième ligne:la source
947
est l'utilisation de la mémoire moins la mémoire utilisée pour les tampons et les caches?La commande watch peut être utile. Essayez
watch -n 5 free
de surveiller l'utilisation de la mémoire avec des mises à jour toutes les cinq secondes.la source
Vous pouvez le faire en utilisant
cat /proc/meminfo
.la source
watch cat /proc/meminfo
free
commande prend ses informations/proc/meminfo
et les présente de manière compacte. Utiliserfree -h
pour une sortie lisible par l'homme.Pour la surveillance visuelle de l’utilisation globale de la mémoire RAM, si vous utilisez Byobu , votre utilisation de la mémoire sera conservée dans le coin inférieur droit du terminal et sera exécutée pendant toute session de terminal.
Comme vous pouvez le voir sur la capture d'écran, ma machine virtuelle dispose d'un temps d'activité de 1h3m, de 0.00 charge, d'un processeur de 2.8GHz (virtuel) et de 994 Mo (21%) de la RAM disponible du système.
la source
Solution monoligne et sortie:
Voici un exemple du résultat attendu:
la source
Je voudrais utiliser des cactus . Cela va représenter graphiquement votre utilisation de la mémoire, etc. sur une période de temps, et vous pourrez vérifier son utilisation en utilisant votre navigateur Web.
la source
Contrôle de l'utilisation de la mémoire
Je suis plus en ligne avec l'un des messages précédents qui ont mentionné Cacti comme un excellent moyen de surveiller l'utilisation de la mémoire. Cependant, comme il semble que les cactus ne sont plus populaires dans le monde traditionnel, il existe une application graphique alternative appelée Graphite.
Graphite est relativement facile à installer sur un serveur Ubuntu et, pour l'installer, vous pouvez consulter ce lien pour en savoir plus sur les procédures d'installation.
Une fois le graphite installé, vous pouvez maintenant lui envoyer des métriques de 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 suggéré dans les précédents articles, vous pouvez écrire votre propre script à l'aide des outils système pour collecter les informations de mémoire nécessaires. Ou bien, vous pouvez utiliser un plugin snmp pré-écrit qui fera tout le travail à votre place.
Si vous souhaitez écrire votre propre script de mémoire, il est 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 collecter de fausses données.
Si vous souhaitez plutôt utiliser un plugin snmp qui effectue déjà tous les calculs nécessaires, voici un lien vers celui qui fonctionne assez bien: checkMemoryviaSNMP .
Avantages de SNMP:
J'ai snmp installé 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 à mettre un plugin sur les nœuds distants.
Inconvénients de SNMP:
Vous devez vous assurer que l' agent snmp est installé sur chacun des nœuds distants sur lesquels vous souhaitez surveiller la mémoire. Cependant, cette installation sera une affaire unique. Si vous utilisez des outils d'automatisation tels que chef ou marionnette ou des outils similaires dans votre environnement, ce n'est pas un problème du tout.
Configuration de l'agent SNMP sur le ou les nœuds distants:
Une fois l’agent snmp installé, passez simplement le fichier /etc/snmpd/snmpd.conf et ajoutez-y cette ligne:
Puis redémarrez l'agent snmpd avec:
Ensuite, sur votre serveur central, à partir duquel vous surveillez tous vos autres serveurs, vous pouvez exécuter la commande suivante:
la source