如何测量solaris进程内存使用率?


11

如何检查solaris进程消耗了多少内存?我想要分配的总地址空间和驻留在RAM中的数量。

我试图用一些awk脚本对pmap输出求和,但这是一个丑陋的hack。有没有更好的脚本编写方法?

Answers:


18
  1. prstat -s rss

    '-s'按rss列对prstat输出进行排序(有关其他列,请参见手册页)。也可以为每个用户尝试使用“ -a”选项。

  2. ps -eo pid,pmem,vsz,rss,comm | sort -rnk2 | head

    前十大RAM消费者。“ -o pmem”显示驻留内存的百分比,即进程使用的RAM。

  3. ls -lh /proc/{pid}/as

    显示进程总地址空间(vsz)的简单方法。与pgrep结合使用,可以按用户,模式,...进行累加,例如:

    for pid in `pgrep -U webserver`; do ls -lh /proc/$pid/as; done
    



2

我在脚本中使用此输出的变体:

# prstat -Z 1 1 | tail -3
ZONEID    NPROC  SWAP   RSS MEMORY      TIME  CPU ZONE                        
220       56 1057M  413M   0.3%   1:26:49 0.1% 820f6ce5-7e37-4455-80ab-b28c5de19b43
Total: 56 processes, 169 lwps, load averages: 0.07, 0.06, 0.06

0

我作为Zenoss社区经理的$ .02 ...

Zenoss可以监视所有网络设备和服务器的健康状况,以及服务器上运行的进程。我们的一位社区成员最近通过SNMP提交了Solaris的过程监控:http : //community.zenoss.org/docs/DOC-5882

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.