Utilisation de la mémoire regroupée par processus parent


1

Comment trouver l'utilisation totale de la mémoire de tous les processus (y compris les processus enfants) avec PPID1. Pour un programme tel que nginx / httpd qui impose plusieurs processus enfants, ps/ topdonne l'utilisation de la mémoire de chaque processus séparément. Je souhaite connaître l'utilisation totale de la mémoire par nginx/ à la apacheplace des processus enfants individuels.

Réponses:


2

Si vous voulez quelque chose d'interactif, essayez:

atop - launch it and press 'm' (memory usage) and 'p' (group by process name).

Si vous voulez quelque chose de scriptable, il y a quelque chose qui ressemble à ce qui suit - bien que ce ne soit pas tout à fait ce que vous avez demandé (PPID 1), mais vous pouvez grouper en fonction du nom du processus à l'aide de awk -

ps -eo pmem,vsize,cmd | grep -v '\[' | awk 'NR>2{mem[$3]+=$2}END {for(k in mem) print k " " mem[k]/1024000};' | sort -gk 2 | tail -n 10

Il existe probablement un moyen intelligent de filtrer le PPID avec le ps ... mais je suis trop stupide pour le comprendre rapidement.


0

Sur une distribution utilisant systemd, systemd-cglsdevrait montrer l'utilisation de la mémoire par service. Ne pas toujours obtenir l'information cependant.


Merci. Le serveur exécute CentOS 6, il n'y a donc pas de systemd. J'ai ajouté le centos-6tag à la question.
Joyce Babu
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.