进程使用的内存百分比

时间:2010-04-27 12:07:09

标签: performance unix command-line

进程使用的内存百分比。

通常prstat -J会给出过程图像和RSS(驻留集大小)等内存。 我如何知道每个进程使用具有内存百分比的进程列表。

我正在研究solaris unix。 另外,您使用哪些常规命令来监控流程,对所有人都非常有用的流程的执行情况!

3 个答案:

答案 0 :(得分:0)

top命令会为您提供几个内存消耗号。 htop更好,并且会给你百分比,但默认情况下它并没有安装在大多数系统上。

答案 1 :(得分:0)

运行

top然后Shift+O这将带您进入选项,按n(这可能与您的计算机不同)的内存然后按Enter键

内存排序示例。

 top - 08:17:29 up 3 days,  8:54,  6 users,  load average: 13.98, 14.01, 11.60
Tasks: 654 total,   2 running, 652 sleeping,   0 stopped,   0 zombie
Cpu(s): 14.7%us,  1.5%sy,  0.0%ni, 59.5%id, 23.5%wa,  0.1%hi,  0.8%si,  0.0%st
Mem:  65851896k total, 49049196k used, 16802700k free,  1074664k buffers
Swap: 50331640k total,        0k used, 50331640k free, 32776940k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                         
21635 oracle    15   0 6750m 636m  51m S  1.6  1.0  62:34.53 oracle                                                                                          
21623 oracle    15   0 6686m 572m  53m S  1.1  0.9  61:16.95 oracle                                                                                          
21633 oracle    16   0 6566m 445m 235m S  3.7  0.7  30:22.60 oracle                                                                                          
21615 oracle    16   0 6550m 428m 220m S  3.7  0.7  29:36.74 oracle                                                                                          
16349 oracle    RT   0  431m 284m  41m S  0.5  0.4   2:41.08 ocssd.bin                                                                                       
17891 root      RT   0  139m 118m  40m S  0.5  0.2  41:08.19 osysmond                                                                                        
18154 root      RT   0  182m  98m  43m S  0.0  0.2  10:02.40 ologgerd                                                                                        
12211 root      15   0 1432m  84m  14m S  0.0  0.1  17:57.80 java  

Solaris上的另一种方法是执行以下操作

prstat -s size 1 1

示例prstat输出

www004:/# prstat -s size 1 1
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP       
   420 nobody    139M   60M sleep   29   10   1:46:56 0.1% webservd/76
   603 nobody    135M   59M sleep   29   10   5:33:18 0.1% webservd/96
   339 root      134M   70M sleep   59    0   0:35:38 0.0% java/24
   435 iplanet   132M   55M sleep   29   10   1:10:39 0.1% webservd/76
   573 nobody    131M   53M sleep   29   10   0:24:32 0.0% webservd/76
   588 nobody    130M   53M sleep   29   10   2:40:55 0.1% webservd/86
   454 nobody    128M   51M sleep   29   10   0:09:01 0.0% webservd/76
   489 iplanet   126M   49M sleep   29   10   0:00:13 0.0% webservd/74
   405 root      119M   45M sleep   29   10   0:00:13 0.0% webservd/31
   717 root       54M   46M sleep   59    0   2:31:27 0.2% agent/7

请记住,这是按大小而非RSS排序,如果您需要通过RSS使用rss密钥

www004:/# prstat -s rss 1 1
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP       
   339 root      134M   70M sleep   59    0   0:35:39 0.1% java/24
   420 nobody    139M   60M sleep   29   10   1:46:57 0.4% webservd/76
   603 nobody    135M   59M sleep   29   10   5:33:19 0.5% webservd/96
   435 iplanet   132M   55M sleep   29   10   1:10:39 0.0% webservd/76
   573 nobody    131M   53M sleep   29   10   0:24:32 0.0% webservd/76
   588 nobody    130M   53M sleep   29   10   2:40:55 0.0% webservd/86
   454 nobody    128M   51M sleep   29   10   0:09:01 0.0% webservd/76
   489 iplanet   126M   49M sleep   29   10   0:00:13 0.0% webservd/74

答案 2 :(得分:0)

我不确定ps是否标准化,但至少在linux上,ps -o%mem给出了使用的内存百分比(你显然也希望添加其他一些列)