当前位置: 主页 > 性能调优 >

基于linux服务器的性能分析与优化(四)

时间:2013-05-06 23:23来源:转载 作者:会员 点击:
[plain] view plain copy 10.6.2sar命令 sar命令可以全面获取系统的CPU、运行队列、磁盘IO、分页(交换区)、内存、CPU中断、网络等性能数据 sar命令的语法如下: [plain] view plain copy sar[options][
欢迎大家分享自己的文档,请点击查阅:分享方法,Linux系统运维
如果你喜欢这文章,可以点击文章结尾处百度分享,分享到你的各种社区收藏,或推荐给朋友……


 

[plain] view plaincopy
  1. 10.6.2 sar命令  

sar命令可以全面获取系统的CPU、运行队列、磁盘IO、分页(交换区)、内存、CPU中断、网络等性能数据

sar命令的语法如下:

 

[plain] view plaincopy
  1. sar [options] [ -o filename] [interval [count] ]  

各个选项及参数的含义如下:

 

options,命令行选项,下面列出一些常用选项

-A 显示系统所有资源设备(CPU、内存、磁盘)的运行情况

-u 显示系统所有CPU在才有时间内的负载状态

-P 显示当前系统中指定CPU的使用情况

-d 显示系统所有硬件设备在采样时间内的使用状况

-r 显示系统内存在采样时间内的使用情况

-b 显示缓冲区在采样时间内的使用情况

-v 显示进程、文件、节点和锁表状态

-n 显示网络运行状态。参数后面可以跟DEV、EDEV、SOCK和FULL。DEV显示网络接口信息,EDEV显示网络错误的统计数据,SOCK显示套接字信息,FULL显示前三参数的所有信息。

-q显示了运行队列的大小,它与系统当时的平均负载相同

-R显示进程在采样时间内的活动情况

-y显示终端设备在采样时间内的活动情况

-w 显示系统交换活动在采样时间内的状态

-o filename将命令结果以二进制格式存放在文件中,filename为存储文件名

interval 采样间隔

count 采样次数,是可选参数

 

例如, 要查看系统CPU整体负载情况,每3秒统计一次,统计5次,

 

[plain] view plaincopy
  1. sar -u 3 5  

系统的CPU计数是从0开始的,如果要查看第二个CPU的运行负载,使用

 

 

[plain] view plaincopy
  1. sar -P 1 3 5  

查看系统磁盘的读写性能,使用

 

 

[plain] view plaincopy
  1. sar -d 3 5  

查看系统内存的使用情况、网络运行状态,分别使用

 

 

[plain] view plaincopy
  1. sar -r 5 2  

[plain] view plaincopy
  1. sar -n DEV 5 3  

下面是sar命令对某个系统的cpu的统计输出

 

 

[plain] view plaincopy
  1. $ sar -u 3 5  
  2. Linux 2.6.9_7-5-0-0 (tc-map-as01.tc.baidu.com)  07/06/2012  
  3.   
  4. 06:56:26 PM       CPU     %user     %nice   %system   %iowait     %idle  
  5. 06:56:29 PM       all      1.62      0.00      1.04      0.00     97.33  
  6. 06:56:32 PM       all      1.71      0.00      0.75      0.00     97.54  
  7. 06:56:35 PM       all      1.71      0.00      1.00      0.00     97.29  
  8.   
  9. 06:56:35 PM       CPU     %user     %nice   %system   %iowait     %idle  
  10. 06:56:38 PM       all      1.38      0.00      0.88      0.00     97.75  
  11. 06:56:41 PM       all      1.67      0.00      0.88      0.00     97.46  
  12. Average:          all      1.62      0.00      0.91      0.00     97.48  

上面每项的输出解释如下:

 

* %user显示了用户进程消耗的CPU时间百分比

* %nice显示了运行正常进程所耗的CPU时间百分比

* %system显示了系统进程消耗的CPU时间百分比

* %iowait显示了IO等待占用的CPU时间百分比

* %steal显示在内存相对紧张的情况下pagein强制对不同的页面进行steal操作

* %idle显示了CPU在空闲状态的时间百分比

 

每项的输出都非常直观,并且最后一行的average是汇总行,即统计平均值

需要注意的是,第一行的统计中是包含了sar本身的统计消耗,所以%user列会偏高一点,不过不会对统计结果产生太大影响。

 

在一个多CPU的系统中,如果程序使用了单线程,会出现一个现象:CPu整体使用率不高,但是系统应用响应很慢,这是因为单线程只使用一个CPU,导致这个CPU占用率为100%,无法处理其他请求,而其他的CPU却闲置。针对这个问题,可以分开查询系统的CPU,使用sar -P 统计每个CPU的使用情况。



转载请注明linux系统运维
http://www.linuxyw.com/linux/tiaoyou/20130506/239.html

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
栏目列表
推荐内容