性能测试-了解硬件之CPU(二)

对于大型的服务器,往往有很多颗CPU,这个时候,对于CPU的使用率,我们就不能单纯的看总的使用率,往往需要看单颗CPU的使用率。
    1、怎么看单颗CPU的使用率呢?
        sar -P ALL 1 10
     2、瓶颈是否是CPU
         判断系统出现瓶颈是否是CPU引起的,主要是看CPU run queue,即系统中等待CPU的所有线程
[root@localhost ~]# sar -P 0,1,2,3,4 2 -q
Linux 2.6.32-279.el6.i686 (localhost.localdomain)       05/18/2013      _i686_  (1 CPU)

08:17:36 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
08:17:38 PM         0       200      0.06      0.01      0.00
08:17:40 PM         0       200      0.06      0.01      0.00
08:17:42 PM         0       200      0.05      0.01      0.00
08:17:44 PM         0       200      0.05      0.01      0.00
08:17:46 PM         0       200      0.05      0.01      0.00
 
或者是
[root@localhost ~]# vmstat 2
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1  0      0  44828 813124 175032    0    0  1024    14   52   37  0  3 95  2  0
0  0      0  44820 813124 175032    0    0     0     0   17   12  0  0 99  0  0
1  0      0  44820 813124 175032    0    0     0     0   16    9  0  0 100  0  0
0  0      0  44820 813124 175032    0    0     0     0   15   11  0  0 100  0  0
0  0      0  44820 813124 175032    0    0     0     0   16   13  0  0 100  0  0
0  0      0  44820 813124 175032    0    0     0     0   21   20  0  0 100  0  0
0  0      0  44820 813124 175032    0    0     0     0   15   11  0  0 100  0  0
0  0      0  44820 813124 175032    0    0     0     0   21   12  0  1 99  0  0
0  0      0  44820 813132 175032    0    0     0     6   17   15  0  0 100  0  0
0  0      0  44820 813132 175032    0    0     0     0   18   15  0  0 100  0  0
0  0      0  44820 813132 175032    0    0     0     0   28   27  0  2 98  0  0
0  0      0  44820 813132 175032    0    0     0     0   19   12  0  1 99  0  0
0  0      0  44820 813132 175032    0    0     0     0   15   12  0  0 100  0  0
0  0      0  44820 813132 175032    0    0     0    10   16   12  0  0 100  0  0
    
    3、CPU的分配     
CPU的分配也是很重要的一部分,对于大型服务器来说,每台服务器都配备有多颗CPU,怎么使用这些CPU就成为了很重要的问题。
分配CPU可以用如下命令:
     numactl 
or  taskset
判断一个进程的各个线程在哪些CPU上跑,可以用如下命令:
ps -mo pid,tid,psr -p 1749
[root@localhost ~]# ps -mo pid,tid,psr -p 1749
  PID   TID PSR
1749     -   -
    -  1749   0
posted @ 2013-05-18 22:47  lemontree-m  阅读(185)  评论(0)    收藏  举报