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

Tad*_*ski 11 solaris monitoring memory process

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

我尝试用一​​些 awk 脚本总结 pmap 输出,但这是一个丑陋的黑客。有没有更好的方法来编写它?

小智 19

  1. prstat -s rss

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

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

    前 10 名 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
    
    Run Code Online (Sandbox Code Playgroud)


小智 2

prstat
Run Code Online (Sandbox Code Playgroud)

或者也许是 dtrace 脚本?