我正在尝试找出我的 CentOS 服务器上所有 PHP 进程使用的总内存。经过一番尝试,grepping
这awking
是我的最终命令。
ps -e | grep php | awk '{print $1}' | xargs pmap | grep total | awk '{print $2}' | sed 's/K//' | awk '{SUM += $1} END {print SUM/1024}'
现在,理论上这应该可以工作,因为我取了 K 中的总内存输出,将其相加然后除以,这就是我的 MB。问题是它返回
12493.5
那是 12GB!他们不可能使用 12GB,因为服务器只有 4GB。
编辑:根据开关的手册页pmap
显示-x
扩展信息。
http://linux.die.net/man/1/pmap
此视图中有一列名为 Dirty。这是正确的列吗?当我对 Dirty 列执行 awk 时,我得到:
1294.1
这对我来说更有意义。但我不知道 Dirty 列是否正确。
答案1
尝试使用:
ps avx
并在“RSS”栏中汇总金额