利用vmstat、sar、iostat分析服务器性能

1、利用sar命令监控系统CPU

sar -u 1 5或者sar 1 5

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

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

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

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

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

l%steal列显示了在内存相对紧张的环境下pagein强制对不同的页面进行的steal操作。%idle列显示了CPU处在空闲状态的时间百分比。

www的io等待很小、Plusio等待最大、Bbs的io等待都没有那么大

pidstat要另外安装。

pidstat 25
//每隔2秒,显示5次,所有活动进程的CPU使用情况
pidstat -p 313225
//每隔2秒,显示5次,PID为3132的进程的CPU使用情况显示
pidstat -p 313225 -r
//每隔2秒,显示5次,PID为3132的进程的内存使用情况显示

查看CPU使用情况

sar 25
//每隔2秒,显示5次,CPU使用的情况

   %usr:CPU处在用户模式下的时间百分比。
%sys:CPU处在系统模式下的时间百分比。
%wio:CPU等待输入输出完成时间的百分比。
%idle:CPU空闲时间百分比。

在所有的显示中,我们应主要注意%wio和%idle,%wio的值过高,表示硬盘存在I/O瓶颈, %idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。

 sar 110 > data.txt
2317520.gif//每隔1秒,写入10次,把CPU使用数据保存到data.txt文件中。
2317520.gif
sar10 -e 15:00:00 > data.txt
2317520.gif//每隔1秒记录CPU的使用情况,直到15点,数据将保存到data.txt文件中。(-e 参数表示结束时间,注意时间格式:必须为hh:mm:ss格式)
2317520.gifsar10 -r -e 15:00:00 > data.txt
2317520.gif//每隔1秒记录内存使用情况,直到15点,数据将保存到data.txt文件中。
2317520.gif
sar10 -n DEV -e 15:00:00 > data.txt

2317520.gif//每隔1秒记录网络使用情况,直到15点,数据将保存到data.txt文件中。

例二:使用命行sar -v t n

例如,每30秒采样一次,连续采样5次,观察核心表的状态,需键入如下命令:

# sar -v 30 5

例三:使用命行sar -d t n

例如,每30秒采样一次,连续采样5次,报告设备使用情况,需键入如下命令:

# sar -d 30 5

例四:使用命行sar -b t n

例如,每30秒采样一次,连续采样5次,报告缓冲区的使用情况,需键入如下命令:

# sar -b 30 5

2. 内存性能评估

(1)利用vmstat命令监控内存

Vmstat 1

[root@node1 ~]# vmstat 2 3

procs -----------memory----------  ---swap--  -----io---- --system--  -----cpu------

r  b   swpd   free      buff  cache   si   so    bi    bo       in     cs     us sy  id  wa st

0  0    0    162240   8304  67032   0    0    13    21   1007   23     0  1  98   0  0

0  0    0    162240   8304  67032   0    0     1     0     1010   20     0  1  100 0  0

0  0    0    162240   8304  67032   0    0     1     1     1009   18     0  1  99   0  0

lmemory

       swpd列表示切换到内存交换区的内存数量(以k为单位)。如果swpd的值不为0,或者比较大,只要si、so的值长期为0,这种情况下一般不用担心,不会影响系统性能。

       free列表示当前空闲的物理内存数量(以k为单位)

       buff列表示buffers cache的内存数量,一般对块设备的读写才需要缓冲。

       cache列表示page cached的内存数量,一般作为文件系统cached,频繁访问的文件都会被cached,如果cache值较大,说明cached的文件数较多,如果此时IObi比较小,说明文件系统效率比较好。

lswap

si列表示由磁盘调入内存.

so列表示由内存调入磁盘。

一般情况下siso的值都为0,如果siso的值长期不为0,则表示系统内存不足。需要增加系统内存。



3:磁盘I/O性能评估利用iostat评估磁盘性能

(1)利用iostat评估磁盘性能

[root@webserver ~]#   iostat -d 2 3

Linux 2.6.9-42.ELsmp (webserver)        12/01/2008      _i686_  (8 CPU)

Device:         tps   Blk_read/s   Blk_wrtn/s   Blk_read      Blk_wrtn

sda               1.87         2.58       114.12        6479462     286537372

Device:         tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

sda               0.00         0.00         0.00              0                0

Device:         tps   Blk_read/s   Blk_wrtn/s   Blk_read    Blk_wrtn

sda               1.00         0.00        12.00             0                24

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

Blk_read/s表示每秒读取的数据块数。

Blk_wrtn/s表示每秒写入的数据块数。

Blk_read表示读取的所有块数。

Blk_wrtn表示写入的所有块数。

可以通过Blk_read/s和Blk_wrtn/s的值对磁盘的读写性能有一个基本的了解,如Blk_wrtn/s值很大,表示磁盘的写操作很频繁,可以考虑优化磁盘或者优化程序,如果Blk_read/s值很大,表示磁盘直接读取操作很多,可以将读取的数据放入内存中进行操作。

对于这两个选项的值没有一个固定的大小,根据系统应用的不同,会有不同的值,但是有一个规则还是可以遵循的:长期的、超大的数据读写,肯定是不正常的,这种情况一定会影响系统性能

iostat -d 2 每两秒刷新一次

www的,写才2000多.Plus的4000,比www的还高,bbs的太牛了2w多


(2)利用sar评估磁盘性能

需要关注的几个参数含义:

       await表示平均每次设备I/O操作的等待时间(以毫秒为单位)。

       svctm表示平均每次设备I/O操作的服务时间(以毫秒为单位)。

       %util表示一秒中有百分之几的时间用于I/O操作。

对以磁盘IO性能,一般有如下评判标准:

正常情况下svctm应该是小于await值的,而svctm的大小和磁盘性能有关,CPU、内存的负荷也会对svctm值造成影响,过多的请求也会间接的导致svctm值的增加。

       await值的大小一般取决与svctm的值和I/O队列长度以及I/O请求模式,如svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长。await是平均每次请求的等待时间。这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。系统上运行的应用程序将变慢,此时可以通过更换更快的硬盘来解决问题。

       %util项的值也是衡量磁盘I/O的一个重要指标,如果%util接近100%,表示磁盘产生的I/O请求太多,I/O系统已经满负荷的在工作,该磁盘可能存在瓶颈。长期下去,势必影响系统的性能,可以通过优化程序或者通过更换更高、更快的磁盘来解决此问题。

www的svctm的值与await很接近,表示几乎没有I/O等待,

plus的 await的值远高于svctm的值,则表示I/O队列等待太长,bbs的 svctm的值与await很接近,表示几乎没有I/O等待
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值