免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6781 | 回复: 8
打印 上一主题 下一主题

prstat -a和top的命令输出结果为何如此差别? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-27 16:50 |只看该作者 |倒序浏览
bash-3.00# prstat -a\r\n   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP       \r\n25515 mxq       473M  266M sleep   59    0   0:02:25 0.1% java/253\r\n26854 mxq      1177M  443M sleep   59    0   0:01:08 0.1% java/222\r\n   381 root     3344K 2032K sleep   59    0   0:00:35 0.1% top/1\r\n17602 root     3704K 2144K cpu2    59    0   0:00:00 0.0% prstat/1\r\n26240 mxq        59M   44M sleep   59    0   0:00:26 0.0% Far/1009\r\n25365 mxq       110M   54M sleep   59    0   0:00:25 0.0% rmire/27\r\n26400 mxq       383M   96M sleep   59    0   0:00:43 0.0% java/23\r\n27000 mxq       222M   70M sleep   59    0   0:00:14 0.0% java/26\r\n   373 oracle    376M  362M sleep   59    0   0:04:00 0.0% oracle/1\r\n26632 mxq       617M  393M sleep   59    0   0:00:45 0.0% java/27\r\n26056 mxq       987M  275M sleep   59    0   0:00:42 0.0% java/41\r\n   369 oracle    378M  364M sleep   59    0   0:03:22 0.0% oracle/1\r\n   363 oracle    379M  364M sleep   59    0   0:03:09 0.0% oracle/11\r\n25986 mxq      7216K 4784K sleep   59    0   0:00:06 0.0% omim/3\r\n   353 oracle    377M  363M sleep   59    0   0:02:08 0.0% oracle/1\r\n27031 root     1448K 1168K sleep   59    0   0:00:01 0.0% local.sh/1\r\n   120 root     4704K 3400K sleep   59    0   0:00:56 0.0% nscd/25\r\n26437 root     1448K 1168K sleep   59    0   0:00:01 0.0% local.sh/1\r\n26412 mxq      9616K 7368K sleep   59    0   0:00:01 0.0% snmpd/1\r\n   371 oracle    379M  365M sleep   59    0   0:00:46 0.0% oracle/1\r\n   383 oracle    389M  374M sleep   59    0   0:00:09 0.0% oracle/11\r\n23984 root     3128K 2280K sleep   59    0   0:00:00 0.0% bash/1\r\n23515 root     3640K 2296K sleep   59    0   0:00:00 0.0% in.telnetd/1\r\n17478 root     1336K 1000K sleep   59    0   0:00:00 0.0% sleep/1\r\n   367 oracle    376M  362M sleep   59    0   0:00:00 0.0% oracle/1\r\n   365 oracle    377M  363M sleep   59    0   0:00:17 0.0% oracle/1\r\n   361 oracle    389M  364M sleep   59    0   0:00:27 0.0% oracle/11\r\n   359 oracle    381M  366M sleep   59    0   0:00:26 0.0% oracle/41\r\n   357 oracle    376M  361M sleep   59    0   0:00:12 0.0% oracle/1\r\n   355 oracle    376M  361M sleep   59    0   0:00:10 0.0% oracle/1\r\n   323 root     4440K 1736K sleep   59    0   0:00:00 0.0% sshd/1\r\n   327 root       13M 8280K sleep   59    0   0:00:03 0.0% fmd/15\r\n   294 root     4424K 2200K sleep   59    0   0:00:03 0.0% syslogd/17\r\n   551 root     1432K 1088K sleep   59    0   0:00:00 0.0% snmp_fake_proc/1\r\n   349 oracle     32M   25M sleep   59    0   0:00:10 0.0% tnslsnr/3\r\n   405 root     2016K 1408K sleep   59    0   0:00:00 0.0% smcboot/1\r\n   747 mxq      1344K  984K sleep   59    0   0:00:00 0.0% logger/1\r\n25582 oracle    376M  363M sleep   59    0   0:00:00 0.0% oracle/1\r\n   275 root     5016K 1728K sleep   59    0   0:00:00 0.0% automountd/2\r\n   262 root     2232K 1472K sleep   59    0   0:00:00 0.0% ttymon/1\r\n   253 daemon   2384K 1736K sleep   60  -20   0:00:00 0.0% lockd/2\r\n   243 root     1280K  912K sleep   59    0   0:00:00 0.0% utmpd/1\r\n   138 root     2472K 1424K sleep   59    0   0:00:00 0.0% powerd/3\r\n   259 root     4832K 3192K sleep   59    0   0:00:00 0.0% inetd/3\r\n   112 root     6040K 4192K sleep   59    0   0:00:26 0.0% picld/6\r\n   406 root     2008K 1000K sleep   59    0   0:00:00 0.0% smcboot/1\r\n   233 daemon   2768K 2008K sleep   59    0   0:00:00 0.0% statd/1\r\n   109 root     2920K 1768K sleep   59    0   0:00:00 0.0% syseventd/14\r\nNPROC USERNAME  SIZE   RSS MEMORY      TIME  CPU                             \r\n    26 mxq      4071M 1675M   8.1%   0:06:55 0.4%\r\n    65 root      207M  130M   0.5%   0:03:02 0.1%\r\n    55 oracle     19G   18G    91%   0:15:17 0.1%     \r\n    4 daemon     12M 7976K   0.0%   0:00:00 0.0%\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nTotal: 150 processes, 1969 lwps, load averages: 0.12, 0.12, 0.11\r\n\r\nbash-3.00# /usr/local/bin/top\r\n\r\nlast pid: 17758;  load avg:  0.12,  0.12,  0.11;       up 2+22:22:47                                                       16:31:05\r\n149 processes: 148 sleeping, 1 on cpu\r\nCPU states: 99.2% idle,  0.2% user,  0.6% kernel,  0.0% iowait,  0.0% swap\r\nMemory: 16G phys mem, 12G free mem, 8193M total swap, 8193M free swap\r\n\r\n   PID USERNAME LWP PRI NICE  SIZE   RES STATE    TIME    CPU COMMAND\r\n25515 mxq      253  59    0  473M  266M sleep    2:26  0.13% java\r\n17733 root       1  59    0 3344K 1992K cpu/0    0:00  0.10% top\r\n26854 mxq      221  59    0 1177M  443M sleep    1:09  0.09% java\r\n26240 mxq      999  59    0   59M   44M sleep    0:27  0.05% Far\r\n26632 mxq       27  59    0  617M  393M sleep    0:45  0.02% java\r\n   369 oracle     1  59    0  378M  364M sleep    3:22  0.02% oracle\r\n27000 mxq       25  59    0  222M   70M sleep    0:14  0.02% java\r\n26056 mxq       41  59    0  987M  275M sleep    0:42  0.02% java\r\n25365 mxq       24  59    0  110M   54M sleep    0:25  0.01% rmire\r\n   373 oracle     1  59    0  376M  362M sleep    4:00  0.01% oracle\r\n25986 mxq        3  59    0 7216K 4784K sleep    0:06  0.01% omim\r\n26400 mxq       22  59    0  383M   96M sleep    0:43  0.01% java\r\n   363 oracle    11  59    0  379M  364M sleep    3:09  0.01% oracle\r\n   353 oracle     1  59    0  377M  363M sleep    2:08  0.01% oracle\r\n25790 oracle     1  59    0  376M  363M sleep    0:00  0.00% oracle\r\n\r\nbash-3.00#  vmstat 3 10\r\n kthr      memory            page            disk          faults      cpu\r\n r b w   swap  free  re  mf pi po fr de sr m1 m2 m3 s1   in   sy   cs us sy id\r\n 0 0 0 18368240 13645968 34 227 4 1 0 0  0  0  0  0  3  336 1052 1022  1  1 98\r\n 0 0 0 18114488 12976800 77 539 0 0 0 0  0  0  0  0  4  341 1849 1118  2  1 96\r\n 0 0 0 18114488 12976808 15 153 0 0 0 0  0  0  0  0  4  336  719  910  2  1 98\r\n 0 0 0 18114488 12976808 0 0 0  0  0  0  0  0  0  0  2  328  529  926  0  1 99\r\n 0 0 0 18114488 12976808 0 0 0  3  3  0  0  0  0  0  2  336  509  916  0  0 99\r\n 0 0 0 18114488 12976816 0 0 0  0  0  0  0  0  0  0  2  333  484  945  0  1 99\r\n 0 0 0 18114488 12976816 0 0 0  0  0  0  0  0  0  0  3  335  441  869  1  3 96\r\n 0 0 0 18114488 12976816 0 0 0  0  0  0  0  0  0  0  2  332  503  931  0  0 99\r\n 0 0 0 18114488 12976816 0 0 0  0  0  0  0  0  0  0  9  342  495  908  0  1 99\r\n 0 0 0 18114488 12976816 0 0 0  0  0  0  0  0  0  0  2  328  542  942  0  0 99\n\n[ 本帖最后由 sunyeait 于 2007-8-28 13:54 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-08-28 13:53 |只看该作者

re:

up!\r\nAny one can answer this question for me ?

论坛徽章:
0
3 [报告]
发表于 2007-08-28 16:12 |只看该作者
机器很空闲呀.55 oracle     19G   18G    91%   0:15:17 0.1%这个可以参考一下.\r\n进程占用物理内存的大小(resident set size) \r\n一个进程占用虚拟内存的大小(virtual set size) \r\nVM reads and writes: it can show how many physical memory management reads and writes were made to and from the disk during the chosen interval. \r\n\r\n内存资源成为系统性能的瓶颈的征兆 \r\n\r\n\r\n当内存资源成为系统性能的瓶颈时,它有一些典型的症状: \r\n\r\n很高的换页率(high pageout rate):通常情况下,它只执行调入页面进入内存的操作,以让进程能够运行。只有操作系统觉得系统需要释放一些内存空间时,才会执行从内存调出页面的操作,而过高的调出页面操作说明内存缺乏; \r\n进程进入不活动状态(process deactivation activity):当自由的内存页面数量小于MINFREE时,很多进程将强制进入不活动状态,因为,any deactivation activity represents a condition in which normal paging is inadequate to handle the memory demands. \r\n自由内存的数量很小,但活动的虚拟内存却很大(very small free memory and large active virtual memory) \r\n交换区所有磁盘的活动次数可高(high disk activity on swap devices) \r\n可高的全局系统CPU利用率(high global system CPU utilization): \r\n很长的运行进程队列,但CPU的空闲时间却很多(large run queue with idle CPU) \r\n内存不够出错(out of memory errors) \r\nCPU用于vhand和swapper两中守护进程的时间(CPU time to vhand and swapper) \r\n必须注意的是,有时候我们发现CPU很忙,这似乎是CPU资源成为系统性能的瓶颈,但如果进一步分析,发现vhand和swapper守护进程占用了大量的系统CPU时间,很显然,这时系统性能瓶颈真正所在可能是内存。\n\n[ 本帖最后由 风之幻想 于 2007-8-28 16:13 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2007-08-28 17:31 |只看该作者
谢谢,辛苦你了!\r\n我想问的是,两者命令输出为何有如此差别:\r\n\r\nprstat -a的输出,显示内存被oracle占用了91%.\r\nNPROC USERNAME  SIZE   RSS MEMORY      TIME  CPU                             \r\n    26 mxq      4071M 1675M   8.1%   0:06:55 0.4%\r\n    65 root      207M  130M   0.5%   0:03:02 0.1%\r\n    55 oracle     19G   18G    91%   0:15:17 0.1%     \r\n    4 daemon     12M 7976K   0.0%   0:00:00 0.0%\r\n\r\ntop的输出又显示系统内存很正常:\r\nMemory: 16G phys mem, 12G free mem, 8193M total swap, 8193M free swap\r\n\r\nvmstat的输出证明了top的结果是合理的.\r\n\r\n所以,现在问题的焦点是prstat -a的输出有问题,不准确??

论坛徽章:
0
5 [报告]
发表于 2007-08-28 17:35 |只看该作者
prstat的命令没有问题.是准确的.

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-03-19 06:20:00数据库技术版块每日发帖之星
日期:2016-07-05 06:20:00
6 [报告]
发表于 2007-08-28 17:48 |只看该作者
你重新运行prstat -a 这个命令,还有是什么版本的OS。用uname -X查查。

论坛徽章:
0
7 [报告]
发表于 2007-08-28 17:58 |只看该作者

re:

我不得不相信自己的眼睛,我已经重复运行很多次了,结果就是这样.\r\n\r\nbash-3.00# more /etc/release\r\n                       Solaris 10 6/06 s10s_u2wos_09a SPARC\r\n           Copyright 2006 Sun Microsystems, Inc.  All Rights Reserved.\r\n                        Use is subject to license terms.\r\n                             Assembled 09 June 2006\r\nbash-3.00# uname -X\r\nSystem = SunOS\r\nNode = SV006\r\nRelease = 5.10\r\nKernelID = Generic_118833-24\r\nMachine = sun4u\r\nBusType = <unknown>\r\nSerial = <unknown>\r\nUsers = <unknown>\r\nOEM# = 0\r\nOrigin# = 1\r\nNumCPU = 4

论坛徽章:
0
8 [报告]
发表于 2007-08-28 18:01 |只看该作者
bash-3.00# prstat -a|grep oracle\r\n   373 oracle    376M  362M sleep   59    0   0:05:33 0.0% oracle/1\r\n   369 oracle    378M  364M sleep   59    0   0:04:42 0.0% oracle/1\r\n   363 oracle    379M  364M sleep   59    0   0:04:18 0.0% oracle/11\r\n   353 oracle    377M  363M sleep   59    0   0:02:57 0.0% oracle/1\r\n    47 oracle     17G   16G    90%   0:21:26 0.1%\r\n^C\r\nbash-3.00# /usr/local/bin/top |grep -v msp\r\nlast pid:  5788;  load avg:  0.11,  0.11,  0.10;       up 3+23:51:28   17:59:46\r\n136 processes: 135 sleeping, 1 on cpu\r\nCPU states: 98.5% idle,  0.5% user,  1.0% kernel,  0.0% iowait,  0.0% swap\r\nMemory: 16G phys mem, 12G free mem, 8193M total swap, 8193M free swap\r\n\r\n   PID USERNAME LWP PRI NICE  SIZE   RES STATE    TIME    CPU COMMAND\r\n  5787 root       1  50    0 3328K 1944K cpu/1    0:00  0.44% top\r\n   353 oracle     1  59    0  377M  363M sleep    2:57  0.20% oracle\r\n   363 oracle    11  59    0  379M  364M sleep    4:18  0.06% oracle\r\n   385 oracle    11  59    0  389M  374M sleep    0:02  0.03% oracle\r\n   373 oracle     1  59    0  376M  362M sleep    5:34  0.01% oracle\r\n   120 root      25  59    0 4704K 3400K sleep    1:16  0.00% nscd

论坛徽章:
0
9 [报告]
发表于 2007-08-28 20:25 |只看该作者
prstat显示的oracle内存是oracle本身占的内存加上共享内存空间(shared global area),这样看起来就很大了。\r\n可以使用pmap -x PID查看具体的应用情况。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP