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

是否有可能知道我的Linux服务器上运行的任何应用程序使用的内存

我使用下面的命令来了解php-fpm使用了多less内存。

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 

上面的输出只是你给的命令的一部分。

请在Centos 64bit上testing下面的shellcript:

  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