现在的位置: 首页 > 综合 > 正文

solaris上应该如何监控CPU使用情况

2019年10月13日 ⁄ 综合 ⁄ 共 5388字 ⁄ 字号 评论关闭

在solaris系统上,通常可以使用top和prstat命令监控CPU使用情况。但仅使用这两个命令还不够,因为这两个命令看到的CPU使用率是占全部CPU的比例。也就是说,如果服务器有10个CPU,其中9个CPU使用率为0,1个CPU使用率为100%,那么这两个命令看到的CPU使用率是10%。从整体上看似乎不存在CPU瓶颈,但实际上那个使用率为100%的CPU很可能就是系统性能不佳的根本原因。

solaris10提供了mpstat命令,这个命令可以用来监控单个CPU的使用情况。

以下是我们的系统上发生的一个实例:

1. 用top监控CPU使用情况

last pid: 18914;  load avg:  1.02,  1.02,  1.02;       up 0+07:20:32                                                      

119 processes: 117 sleeping, 2 on cpu
CPU states: 96.8% idle,  3.1% user,  0.0% kernel,  0.0% iowait,  0.0% swap

Memory: 16G phys mem, 11G free mem, 16G total swap, 16G free swap


   PID USERNAME LWP PRI NICE  SIZE   RES STATE    TIME    CPU COMMAND

 27963 ols       13   0    0 1278M 1273M cpu/24 197:27  3.13% cchd

 18909 root       1  59    0 3624K 2160K cpu/9    0:00  0.00% top

 18696 root       1  59    0 3472K 2576K sleep    0:00  0.00% mpstat


top命令显示CPU使用率仅有3%左右,似乎CPU上不存在问题。

2. 用prstat命令监控进程CPU使用情况

   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU
PROCESS/NLWP       
 27963 ols      1328M 1324M cpu8    30    0   3:38:48 3.1% cchd/13

 19233 root     9744K 5624K sleep   59    0   0:00:00 0.0% sshd/1

  1085 root       19M   10M sleep   59    0   0:00:04 0.0% fmd/24

   787 root     1832K  776K sleep   59    0   0:00:00 0.0% evhandsd/1

   862 root     2800K 1296K sleep   59    0   0:00:00 0.0% dcs/1


prstat显示CPU使用率最高的进程CPU使用率仅占3.1%,看起来也没什么问题。

3. 用mpstat使用查看

#> mpstat 5

CPU minf mjf xcal  intr ithr  csw icsw migr smtx  srw syscl  usr sys  wt idl

  0   63   0 2187   443   23  339   10   44  119    0  2510    4   2   0  94

  1  108   0 4088   324   44  428    9   51  141    0  3745    5   2   0  93

  2   53   0 2674   168    9  281    8   37  101    0  1604    2   1   0  97

  3   15   0 1113   120    4  207    7   29   76    0   897    2   1   0  97

  4   43   0 1553   139   13  244    7   31   82    0  1221    2   1   0  97

  5  112   0 4116   244   42  416    8   45  135    0  3848    4   2   0  94

  6   52   0 2711   127    7  245    7   31   90    0  1153    2   1   0  97

  7   14   0  988    87    3  162    6   22   63    0   641    1   1   0  98

  8   20   0  872    83    3  162    6   22   62    0   570    1   1   0  98

  9   58   0 2851   169   19  321    7   34  109    0  1993    3   2   0  96

 10  114   0 4153   248   40  449    8   48  144    0  3591    6   2   0  92

 11   16   0 1201    90    3  177    6   25   67    0   555    1   1   0  98

 12   16   0  982    81    3  158    6   22   61    0   545    2   1   0  98

 13   69   0 3293   171   21  324    7   33  110    0  2124    4   2   0  94

 14  118   0 4084   250   42  451    8   47  145    0  3823    7   2   0  91

 15   17   0 1301    93    7  175    6   25   68    0   608    2   1   0  97

 16   24   0 1535   286  175  219    7   28   86    0   826    1   1   0  97

 17   28   0 1862   105   10  200    6   24   75    0   900    1   1   0  98

 18   49   0 2281   159   39  256    7   30   91    0  1589    4   1   0  95

 19  106   0 3583   271   67  438    8   44  133    0  3340    4   2   0  94

 20   36   0 1628   133   30  217    7   26   82    0   784    1   1   0  97

 21   27   0 2037   102    6  203    6   24   75    0   820    2   1   0  97

 22   55   0 2524   159   39  258    7   29   95    0  1653    2   1   0  97

 23  103   0 3460   245   44  435    8   44  134    0  3587    8   2   0  89

 24  137   0 3523   244   41  436    8   45  138    0  3825    7   2   0  91

 25   28   0 1870   104    5  208    7   27   76    0   835    1   1   0  98

 26   33   0 1934   101    4  204    6   24   75    0  1001    1   1   0  98

 27   40   0 2121   145   16  278    7   28   92    0  1529    3   1   0  96

 28  100   0 3795   241   41  434    8   44  138    0  3745    8   2   0  90

 29   32   0 2018   102    4  207    6   27   76    0   814    1   1   0  98

 30   34   0 1909    98    4  197    6   24   73    0   928    1   1   0  98

 31   39   0 2053   148   17  274    7   28   91    0  1453    3   1   0  96

CPU minf mjf xcal  intr ithr  csw icsw migr smtx  srw syscl  usr sys  wt idl

  0    0   0    8   407  104  215    0    0    0    0   100    0   0   0 100

  1    0   0   28   415  184  375    0    1    0    0   364    0   0   0 100

  2   11   0    2    11    3   10    0    0    2    0   287    0   0   0 100

  3    0   0    1     9    3    8    0    0    0    0     0    0   0   0 100

  4    0   0    2   106   50  104    0    0    0    0    50    0   0   0 100

  5    0   0    1    20    8   17    0    0    0    0    14    0   0   0 100

  6    0   0    1     8    1    5    0    0    0    0     1    0   0   0 100

  7    0   0    0     2    1    1    0    0    0    0     2    0   0   0 100

  8    5   0    0     6    0    0    5    0    0    0    24  100   0   0   0

  9    0   0    0     1    0    0    0    0    0    0     0    0   0   0 100

 10    0   0    0     2    0    0    0    0    0    0     0    0   0   0 100

 11    0   0    0     1    0    0    0    0    0    0     0    0   0   0 100

 12    0   0    0     2    1    0    0    0    0    0     0    0   0   0 100

 13    0   0    0     1    0    0    0    0    0    0     0    0   0   0 100

 14    0   0    0     1    0    0    0    0    0    0     0    0   0   0 100

 15    0   0    0     5    4    0    0    0    0    0     0    0   0   0 100

 16    0   0    0     7    6    0    0    0    1    0     0    0   0   0 100

 17    0   0    1     3    2    0    0    0    0    0     0    0   0   0 100

 18    0   0    1    38   18   36    0    0    0    0    35    0   0   0 100

 19    0   0    4    41   18   49    0    1    1    0   153    0   0   0 100

 20    0   0    0     2    0    0    0    0    0    0     0    0   0   0 100

 21    0   0    0     1    0    0    0    0    0    0     0    0   0   0 100

 22    0   0    0     3    1    2    0    0    0    0     0    0   0   0 100

 23    0   0    1     9    2    7    0    0    0    0     5    0   0   0 100

 24    0   0    1   113   55  111    0    0    0    0    60    0   0   0 100

 25    0   0    1     6    1    3    0    0    0    0     1    0   0   0 100

 26    0   0    0     1    0    0    0    0    0    0     0    0   0   0 100

 27    0   0    1     9    1   10    0    0    0    0     1    0   0   0 100

 28    0   0    1    58   26   57    0    0    0    0    60    0   0   0 100

 29    0   0    0     5    2    4    0    0    0    0     1    0   0   0 100

 30    0   0    0     1    0    0    0    0    0    0     0    0   0   0 100

 31    0   0    1    15    4    6    0    0    1    0    25    0   0   0 100


mpstat显示出CPU8使用率为100%,而其它CPU使用率基本为0。而CPU8使用都是由user占用的,system占用为0,这说明CPU使用主要是由于user thread引起的,而不是kernel thread.

而从步骤2中可以看到使用CPU8的进程是cchd,这样就可以知道是哪个进程CPU占用率过高了。

【上篇】
【下篇】

抱歉!评论已关闭.