Chinaunix首页 | 论坛 | 博客
  • 博客访问: 498918
  • 博文数量: 401
  • 博客积分: 244
  • 博客等级: 入伍新兵
  • 技术积分: 2215
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-04 10:02
文章分类

全部博文(401)

文章存档

2013年(37)

2012年(364)

分类:

2012-12-17 10:57:18

原文地址:sysstat---系统性能监测工具集 作者:

安装:
# yum install sysstat
或源码安装:

# ./configure && make && make install

这个包一但安装下去,一般包括如下的几个命令可以使用:
sar iostat sa1 sa2 sadf mpstat sadc sysstat
这几个命令中,有的是服务,有的是查看结果的命令。也有的是即时服务器CPU,内存以及网络的使用率
比如先要打开 sa1 sa2 或者 sysstat 才能使用 sadf sadc

启动sysstat
# /etc/init.d/sysstat start

设置sysstat自启动
# checkfig sysstat on

sysstat工具包提供的主要命令:sar iostat mpstat

一、sar

该命令最后两个参数一般是 interval count

1.输出CPU使用情况的统计信息 每 2 秒输出一次一共输出 3 次
[root@localhost ~]-> sar -u 1 3
Linux 2.6.32-220.el6.i686 (localhost.localdomain)       09/06/2012      _i686_  (1 CPU)

09:08:37 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:08:38 AM     all      0.00      0.00      1.00      0.00      0.00     99.00
09:08:39 AM     all      0.00      0.00      1.00      0.00      0.00     99.00
09:08:40 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
Average:        all      0.00      0.00      0.67      0.00      0.00     99.33

CPU        all 表示统计信息为所有 CPU 的平均值。                                      
%user    显示在用户级别(application)运行使用 CPU 总时间的百分比。                 
%nice    显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。           
%system    在核心级别(kernel)运行所使用 CPU 总时间的百分比。     
%iowait    显示用于等待I/O操作占用 CPU 总时间的百分比。
%steal    管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
%idle    显示 CPU 空闲时间占用 CPU 总时间的百分比。

tips:
若 %iowait 的值过高,表示硬盘存在I/O瓶颈
若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
若 %idle 的值持续低于 10,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU。

2.显示I/O和传送速率的统计信息
[root@localhost ~]-> sar -b 2 3
Linux 2.6.32-220.el6.i686 (localhost.localdomain)       09/06/2012      _i686_  (1 CPU)

09:11:56 AM       tps      rtps      wtps   bread/s   bwrtn/s
09:11:58 AM      0.00      0.00      0.00      0.00      0.00
09:12:00 AM      0.00      0.00      0.00      0.00      0.00
09:12:02 AM      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00

tps     每秒钟物理设备的 I/O 传输总量                  
rtps    每秒钟从物理设备读入的数据总量                
wtps    每秒钟向物理设备写入的数据总量                
bread/s 每秒钟从物理设备读入的数据量,单位为块/s  
bwrtn/s 每秒钟向物理设备写入的数据量,单位为块/s  

3.输出网络设备状态的统计信息
[root@localhost ~]-> sar -n DEV 2 3
Linux 2.6.32-220.el6.i686 (localhost.localdomain)       09/06/2012      _i686_  (1 CPU)

09:14:03 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:14:05 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:14:05 AM      eth0      0.50      0.00      0.12      0.00      0.00      0.00      0.00

09:14:05 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:14:07 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:14:07 AM      eth0      0.50      0.50      0.03      0.19      0.00      0.00      0.00

09:14:07 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:14:09 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:14:09 AM      eth0      0.50      0.50      0.03      0.18      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      0.50      0.33      0.06      0.12      0.00      0.00      0.00

IFACE      网络设备名                         
rxpck/s    每秒接收的包总数                
txpck/s    每秒传输的包总数                 
rxbyt/s    每秒接收的字节(byte)总数       
txbyt/s    每秒传输的字节(byte)总数       
rxcmp/s    每秒接收压缩包的总数             
txcmp/s    每秒传输压缩包的总数             
rxmcst/s   每秒接收的多播(multicast)包的总数

4.输出进程队列长度和平均负载状态统计信息
[root@localhost ~]-> sar -q 2 3
Linux 2.6.32-220.el6.i686 (localhost.localdomain)       09/06/2012      _i686_  (1 CPU)

09:15:33 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
09:15:35 AM         0        77      0.00      0.00      0.00         0
09:15:37 AM         0        77      0.00      0.00      0.00         0
09:15:39 AM         0        77      0.00      0.00      0.00         0
Average:            0        77      0.00      0.00      0.00         0

runq-sz   运行队列的长度(等待运行的进程数)                                    
plist-sz 进程列表中进程(processes)和线程(threads)的数量                   
ldavg-1   最后1分钟的系统平均负载(System load average)                        
ldavg-5   过去5分钟的系统平均负载                                               
ldavg-15 过去15分钟的系统平均负载                                             

二、iostat

iostat提供几个用于定制输出的开关。最有用的有:
    -c    只显示CPU行
    -d    显示磁盘行
    -k    以千字节为单位显示磁盘输出
    -t    在输出中包括时间戳
    -x    在输出中包括扩展的磁盘指标

常见用法:
# iostat -d -k 1 10     # 查看TPS和吞吐量信息
# iostat -d -x -k 1 10  # 查看设备使用率(%util)、响应时间(await)
# iostat -c 1 10        # 查看cpu状态

[root@localhost ~]-> iostat
Linux 2.6.32-220.el6.i686 (localhost.localdomain)       09/06/2012      _i686_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.36    0.01    0.51    0.16    0.00   98.97

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.84         2.62        15.85     211474    1279741
scd0              0.00         0.00         0.00        144          0
dm-0              4.10         2.56        15.85     206917    1279732
dm-1              0.00         0.01         0.00       1188          0

CPU使用情况分为四个部分:
%user:    显示用户级别(应用)所占用CPU的百分比。
%nice:    显示拥有Nice优先级用户级别所占用CPU的百分比。
%sys:    显示系统级别(内核)所占用CPU的百分比。
%idle:    显示空闲CPU的百分比。

设备使用情况分为下面几个部分:
Device:块设备名称
tps:   设备每秒钟传输的数量(每秒钟I/O请求数)。多个单独的I/O请求可以合并到一个传输请求中,因为每个传输请求可以有不同的大小。
kB_read/s,kB_wrtn/s: 每秒钟块设备读写块的数量。可以设置不同的块大小,一般为1024,2048,4048字节,这取决于分区块的大小。
kB_read,kB_wrtn:     显示自系统启动后读写块的总数。

使用下面的命令来获得/dev/sda1的块大小:
[root@localhost ~]-> dumpe2fs -h /dev/sda1 |grep "Block size"
dumpe2fs 1.41.12 (17-May-2010)
Block size:               1024

                   本文将继续更新。。。

阅读(378) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~