如何检查solaris进程消耗了多少内存?我想要分配的总地址空间和驻留在RAM中的数量。
我试图用一些awk脚本对pmap输出求和,但这是一个丑陋的hack。有没有更好的脚本编写方法?
如何检查solaris进程消耗了多少内存?我想要分配的总地址空间和驻留在RAM中的数量。
我试图用一些awk脚本对pmap输出求和,但这是一个丑陋的hack。有没有更好的脚本编写方法?
Answers:
prstat -s rss
'-s'按rss列对prstat输出进行排序(有关其他列,请参见手册页)。也可以为每个用户尝试使用“ -a”选项。
ps -eo pid,pmem,vsz,rss,comm | sort
-rnk2 | head
前十大RAM消费者。“ -o pmem”显示驻留内存的百分比,即进程使用的RAM。
ls -lh /proc/{pid}/as
显示进程总地址空间(vsz)的简单方法。与pgrep结合使用,可以按用户,模式,...进行累加,例如:
for pid in `pgrep -U webserver`; do ls -lh /proc/$pid/as; done
好吧,在我通读了一些手册页之后,我得到了以下内容
ps -o vsz -p $PID | tail -1
这很简单。居民人数的格式为rss。
我在脚本中使用此输出的变体:
# 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
我作为Zenoss社区经理的$ .02 ...
Zenoss可以监视所有网络设备和服务器的健康状况,以及服务器上运行的进程。我们的一位社区成员最近通过SNMP提交了Solaris的过程监控:http : //community.zenoss.org/docs/DOC-5882