性能测试-了解硬件之CPU(二)
对于大型的服务器,往往有很多颗CPU,这个时候,对于CPU的使用率,我们就不能单纯的看总的使用率,往往需要看单颗CPU的使用率。
1、怎么看单颗CPU的使用率呢?
sar -P ALL 1 10
2、瓶颈是否是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
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的分配
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
PID TID PSR
1749 - -
- 1749 0

浙公网安备 33010602011771号