- 论坛徽章:
- 0
|
请各版主和大侠们帮忙.
问题如下:
最近发现cpu使用率总是在30%(即闲置idle为70%),我想用TOP,prstat,ps等来确定是哪些process占用了这
30%,但当top显示cpu使用率是30%时,其列表中按cpu使用率排序的process其cpu使用率之和并不等于30%,只有1%左右.prstat显示各process的cpu使用率之和也只有1%左右,用prstat -t显示各用户cpu使用率之和也只有1%左右.我刚开始怀疑是否top显示cpu结果有问题,但vmstat,mpstat显示cpu总使用率结果与top基本一致.
所以,如何精确确定各process的CPU使用率,且其总和与top显示的一致或有什么命令我能真实看到各process的CPU使用率,好象top,prstat,ps都不能真实和全部显示各process的CPU使用率.
各命令显示结果如下(各显示结果采集时间有前后1~2秒的差别,但能反映实际情况)
#top
load averages: 0.34, 0.42, 0.43
191 processes: 189 sleeping, 2 on cpu
CPU states: 71.1% idle, 22.3% user, 6.6% kernel, 0.0% iowait, 0.0% swap
Memory: 16G real, 11G free, 4009M swap in use, 25G swap free
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
29897 user12 1 12 0 3296K 3032K cpu/2 0:00 0.33% ps
29835 user1 1 59 0 2976K 1800K cpu/1 0:00 0.18% top
14685 patrol 1 59 0 14M 9128K sleep 270:40 0.12% bgscollect
15751 patrol 1 9 10 34M 31M sleep 165:40 0.06% PatrolAgent
29836 user12 1 22 0 1136K 936K sleep 0:00 0.06% portal_monitor.
1 root 1 59 0 1296K 440K sleep 39:59 0.05% init
23511 root 1 59 0 4136K 3256K sleep 0:00 0.04% sshd
1140 root 13 59 0 5944K 3960K sleep 106:31 0.04% MultiNICBAgent
483 root 21 59 0 2912K 2112K sleep 62:55 0.03% nscd
17323 user12 1 59 0 50M 43M sleep 0:09 0.02% dm_oracle
17290 user12 1 59 0 50M 43M sleep 0:07 0.02% dm_oracle
1214 root 27 29 10 96M 51M sleep 42:30 0.01% java
17288 user12 1 59 0 50M 43M sleep 0:07 0.01% dm_oracle
15974 patrol 1 59 0 12M 5408K sleep 39:55 0.01% dcm
691 user12 1 59 0 30M 13M sleep 0:01 0.01% cm
691 user12 1 59 0 30M 13M sleep 0:01 0.0% cm
按cpu使用率排序的process
#prstat -s1
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
28356 user1 5576K 4760K sleep 59 0 0:00:00 0.3% prstat/1
28339 user1 5576K 4776K cpu3 59 0 0:00:00 0.3% prstat/1
14685 patrol 14M 9128K sleep 59 0 4:30:39 0.1% bgscollect/1
483 root 2912K 2112K sleep 59 0 1:02:55 0.1% nscd/21
15751 patrol 34M 31M sleep 29 10 2:45:40 0.0% PatrolAgent/1
1140 root 5944K 3960K sleep 59 0 1:46:31 0.0% MultiNICBAgent/13
23511 root 4136K 3256K sleep 59 0 0:00:00 0.0% sshd/1
1214 root 96M 51M sleep 29 10 0:42:30 0.0% java/27
1 root 1296K 440K sleep 59 0 0:39:59 0.0% init/1
14 root 9472K 6480K sleep 59 0 0:16:55 0.0% vxconfigd/1
28341 user1 984K 776K sleep 59 0 0:00:00 0.0% tee/1
28357 user1 984K 776K sleep 59 0 0:00:00 0.0% tee/1
17288 user12 50M 43M sleep 59 0 0:00:07 0.0% dm_oracle/1
17297 user12 50M 43M sleep 59 0 0:00:11 0.0% dm_oracle/1
24893 root 4136K 3256K sleep 59 0 0:00:00 0.0% sshd/1
Total: 192 processes, 435 lwps, load averages: 0.58, 0.49, 0.45
各用户cpu使用率统计
#prstat -t
NPROC USERNAME SIZE RSS MEMORY TIME CPU
13 user1 30M 25M 0.1% 0:00:00 0.6%
63 root 635M 294M 1.8% 4:57:46 0.2%
5 patrol 78M 57M 0.4% 8:01:42 0.2%
111 user12 5450M 4386M 28% 0:10:10 0.0%
Total: 192 processes, 435 lwps, load averages: 0.59, 0.49, 0.45
#vmstat
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr m1 m1 m1 m2 in sy cs us sy id
0 0 0 26028728 11403384 201 2011 0 63 63 0 0 0 0 0 0 456 17484 2963 22 6 71
0 0 0 26031000 11406808 257 2125 0 48 48 0 0 0 0 0 0 434 14825 2848 20 8 72
0 0 0 26031000 11406864 620 3593 0 32 32 0 0 0 0 0 0 451 18496 2972 24 8 69
0 0 0 26031000 11406880 187 1933 0 0 0 0 0 0 0 0 0 410 13238 2678 20 8 72
0 0 0 26031000 11406880 454 2503 0 79 79 0 0 0 0 0 0 410 14929 2806 22 9 70
0 0 0 26031000 11406952 411 2920 0 0 0 0 0 0 0 0 0 429 17249 2817 27 7 66
0 0 0 26031000 11406952 218 1960 0 32 32 0 0 0 0 0 0 419 13340 2706 19 8 73
0 0 0 26031000 11406968 188 1929 0 0 0 0 0 0 0 0 0 426 13134 2677 22 7 72
0 0 0 26031000 11406976 189 1936 0 8 8 0 0 0 0 0 0 434 13575 2720 24 5 72
0 0 0 26031000 11406976 188 1929 0 8 8 0 0 0 0 0 0 428 13192 2723 22 7 71
4个cpu各自的使用率
#mpstat
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
0 580 0 2369 46 15 452 27 97 49 0 2079 28 2 0 70
1 232 0 1110 35 5 379 23 93 56 0 1884 10 7 0 83
2 240 0 1459 37 7 587 24 97 60 0 2804 13 10 0 77
3 885 0 3338 311 202 1289 36 81 82 0 7073 32 13 0 55
[ 本帖最后由 风之幻想 于 2006-1-16 14:01 编辑 ] |
|