我如何知道应用程序使用的内存

我如何知道应用程序使用的内存

我是否可以知道在我的 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

相关内容