Si j'exécute top -c
ou htop
j'obtiens des processus avec leur consommation de mémoire, mais ce n'est pas ce que je veux voir.
Existe-t-il une ligne de commande qui permet de voir la consommation de RAM d'une application donnée?
Par exemple, je veux voir la consommation de RAM du serveur Web Apache (pas en vérifiant plutôt tous les processus qu'il exécute)
10
Réponses:
Il y a une très bonne explication détaillée ici: https://blogs.kde.org/2005/09/15/measuring-memory-usage
Mais essentiellement: vous devez vraiment creuser et comprendre comment l'application est configurée.
Ainsi, par exemple, en regardant mysql:
La mémoire totale utilisée est d'environ 25 Mo (prenez le RES de 27 Mo et soustrayez le partagé (SHR))
J'ai validé cela en vérifiant l'utilisation totale de la mémoire (free -m, + / buffers / cache) avant et après l'émission d'un "killall mysqld". Après avoir tué tous les processus mysqld, l'utilisation de la mémoire a chuté de 25 Mo selon "free -m".
Si vous voyez que chaque processus a des colonnes VIRT, RES et SHR identiques, il s'agit probablement de threads du même processus. (Les anciennes bibliothèques Linux géraient le filetage en générant plusieurs processus réels qui occupaient essentiellement la même mémoire)
S'ils sont différents, vous pourrez peut-être l'estimer en faisant une SOMME de (RES - SHR). Mais cela ne fonctionne que si les processus sont en fait des processus séparés et pas seulement des threads du même processus. La recherche du PPID (Parent Process ID) aide également. S'ils ont tous le même parent, ce ne sont probablement que des fils (bien que pas nécessairement).
Malheureusement, il n'y a pas vraiment de bon moyen de répondre à cela sous Linux. Le seul moyen simple consiste à cocher «gratuit» immédiatement avant de terminer le processus et à le vérifier à nouveau immédiatement après. regardez la ligne "- / + buffers / cache:" et voyez combien l'utilisation de la mémoire a diminué et cela vous dira combien elle utilisait.
la source
Avec un peu d'aide de
man ps
et cette excellente réponse ...Par exemple:
D'autres moyens:
Cela peut être exécuté sans
-x
ettail -1
:affiche uniquement le pourcentage:
De plus, pendant l'utilisation,
top
vous pouvez appuyer sur ipour ignorer les processus inactifs / zombies afin de faciliter la lecture:la source
pmap
montre beaucoup de choses sur les ressources que le PID utilise. Les informations sont fournies en fonction du nom du processus et du PID trouvé à l'aide de celui-cipidof
, donc le processus principal est indiqué si le nom que vous fournissez (je pense, je ne sais pas s'il fait référence aux processus parents)