我是否可以知道在我的 Linux 服务器上运行的任何应用程序所使用的内存?
我正在使用以下命令来了解 php-fpm 使用了多少内存。
ps -ylC php5-fpm --sort:rss | awk '!/RSS/ { s+=$8 } END { printf "%s\n", "Total memory used by PHP-FPM child processes: "; printf "%dM\n", s/1024 }'
通过上述命令,我想要了解所有应用程序使用的内存,示例输出如下:
PHP-FPM:2.3GB MySQL:5GB nginx:200MB dovecot:100MB memcached:573MB
MohyedeenN 的更新:
谢谢,但输出似乎重复了,如下所示:
Total memory used by config :
3M
Total memory used by imap :
7M
Total memory used by imap-login :
5M
Total memory used by imap :
7M
Total memory used by imap-login :
5M
Total memory used by imap :
7M
Total memory used by php5-fpm :
3671M
Total memory used by php5-fpm :
3671M
Total memory used by php5-fpm :
3671M
Total memory used by php5-fpm :
3671M
Total memory used by nginx :
54M
Total memory used by nginx :
54M
Total memory used by nginx :
54M
上述输出只是您给出的命令的一部分。
答案1
请使用以下 shellscript,在 Centos 64bit 上测试:
for OUTPUT in $(ps -e |cut -d ":" -f 3 | cut -d " " -f 2 | sort -u)
do
ps -ylC $OUTPUT --sort:rss | awk '!/RSS/ { s+=$8 } END { printf "%s\n", "Total memory used by '$OUTPUT' : "; printf "%dM\n", s/1024 }'
done