Linux第三方检测工具介绍
linux系统除了自带的系统性能检测工具外,还可以使用第三方的系统性能检测。
第三方检查工具需要安装软件包sysstat
yum -y install sysstat
1
.mpstat命令
这个命令需要安装,由软件包sysstat提供
yum -y install sysstat
显示CPU的综合信息
11…… AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
11…… AM all 0.35 0.00 0.55 0.64 0.00 0.03 0.00 0.00 98.44
%user 表示处理用户进程所使用 CPU 的百分比。用户进程是用于应用程序(如 Oracle 数据库)的非内核进程。
%nice 表示使用 nice 命令对进程进行降级时 CPU 的百分比。在之前的部分中已经对 nice 命令进行了介绍。简单来说,nice 命令更改进程的优先级。
%sys 表示内核进程使用的 CPU 百分比
%iowait 表示等待进行 I/O 所使用的 CPU 时间百分比
%irq 表示用于处理系统中断的 CPU 百分比
%soft 表示用于软件中断的 CPU 百分比
%idle 显示 CPU 的空闲时间
%intr/s 显示每秒 CPU 接收的中断总数
mpstat -P ALL
#所有CPU运行状态
Linux 2.6.32-431.el6.x86_64 (localhost63.cn) 12/28/2015 _x86_64_ (4 CPU)
11:57:50 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
11:57:50 AM all 0.31 0.00 0.48 0.56 0.00 0.03 0.00 0.00 98.61
11:57:50 AM 0 0.74 0.00 1.00 1.72 0.01 0.02 0.00 0.00 96.51
11:57:50 AM 1 0.31 0.00 0.57 0.26 0.00 0.09 0.00 0.00 98.77
11:57:50 AM 2 0.13 0.00 0.27 0.16 0.00 0.01 0.00 0.00 99.44
11:57:50 AM 3 0.07 0.00 0.11 0.10 0.00 0.00 0.00 0.00 99.72
2
. tune2fs命令(I/O 调优相关工具)
tune2fs -l /dev/sda1 | grep size
//查看系统块的大小
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink
Block size: 1024 #为一个字节,一个扇区有512个字节
Fragment size: 1024
Flex block group size: 16
Inode size: 128
3
.iostat命令(I/O 调优相关工具)
iostat 可以显示CPU和I/O系统的负载情况及每个磁盘分区的读写状态信息. 从而知道我们系统IO 是否存在问题。
sysstat-9.0.4-22.el6.x86_64 同时也提供了iostat命令
[root@localhost ~]#
iostat
//同时显示CPU和Device段的I/O
Linux 2.6.32-431.el6.x86_64 (localhost.cn) 12/28/2015 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.14 0.06 0.46 0.62 0.00 98.72
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 7.38 210.38 315.42 2269064 3401932
scd0 0.07 1.06 0.00 11408 0
注释:
avg-cpu段:
%user:
在用户级别运行所使用的CPU的百分比.
%nice
: nice操作所使用的CPU的百分比.
%sys
: 在系统级别(kernel)运行所使用CPU的百分比.
%iowait
: CPU等待硬件I/O时,所占用CPU百分比.
%idle
: CPU空闲时间的百分比.
Device段:
tps:
每秒钟发送到的I/O请求数.
Blk_read /s
: 每秒读取的block数,这里的block,指的是扇区数,一个扇区大小:512B
Blk_wrtn/s
: 每秒写入的block数. 这里的block,指的是扇区数,一个扇区大小:512B
Blk_read
: 读入的block总数. 这里的block,指的是扇区数,一个扇区大小:512B
Blk_wrtn
: 写入的block总数. 这里的block,指的是扇区数,一个扇区大小:512B
[root@localhost ~]#
iostat –c
//仅仅显示CPU字段
[root@localhost ~]#
iostat –d
//仅仅显示device字段
-k 以K为单位显示每秒的磁盘请求数,默认单位块.-m为MB
-p device | ALL 与-x选项互斥,用于显示块设备及系统分区的统计信息.
---------------------------------------------------------------------------
iostat -p sda –dk
#显示每个分区读写速度
Linux 2.6.32-431.el6.x86_64 (localhost.cn) 12/28/2015 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 7.22 102.80 154.19 1134572 1701770
sda1 0.06 0.22 0.00 2411 18
sda2 7.12 102.39 154.19 1130009 1701752
sda3 0.03 0.13 0.00 1452 0
每列含意:
kB_read/s
每秒从驱动器读入的数据量,单位为K.
kB_wrtn/s
每秒向驱动器写入的数据量,单位为K.
kB_read
读入的数据总量,单位为K.
kB_wrtn
写入的数据总量,单位为K.
----------------------------------------------------------------------------
----------------------------------------------------------------------------
iostat -x -d –m
#-x输出拓展信息
Linux 2.6.32-431.el6.x86_64 (localhost.cn) 12/28/2015 _x86_64_ (4 CPU)
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
sda 1.52 37.14 6.08 1.09 0.10 0.15 71.12 0.32 45.00 4.39 3.14
scd0 0.18 0.00 0.07 0.00 0.00 0.00 14.68 0.00 0.46 0.43 0.00
rrqm/s 将读入请求合并后,每秒发送到设备的读入请求数.
wrqm/s 将写入请求合并后,每秒发送到设备的写入请求数.
r/s 每秒发送到设备的读入请求数.
w/s 每秒发送到设备的写入请求数.
rsec/s 每秒从设备读入的扇区数.
wsec/s 每秒向设备写入的扇区数.
rkB/s 每秒从设备读入的数据量,单位为K.
wkB/s 每秒向设备写入的数据量,单位为K.
avgrq-sz 发送到设备的请求的平均大小,单位是扇区.
avgqu-sz 发送到设备的请求的平均队列长度.
await I/O请求平均执行时间.包括发送请求和执行的时间.单位是毫秒.
svctm 发送到设备的I/O请求的平均执行时间.单位是毫秒.
%util 在I/O请求发送到设备期间,占用CPU时间的百分比.用于显示设备的带宽利用率,当这个值接近100%时,表示设备带宽已经占满. I/O不够使用。Util含义
----------------------------------------------------------------------------
iostat其它用法:
iostat -d -k 2
// 每隔2秒,显示一次设备统计信息. 以k为单位
iostat -d 2 6
// 每隔2秒,显示一次设备统计信息.总共输出6次.
iostat -x hda hdb 2 6
//每隔2秒显示一次hda,hdb两个设备的扩展统计信息,共输出6次.
iostat -p sda 2 6
//每隔2秒显示一次sda及上面所有分区的统计信息,共输出6次.
4.
iotop命令(I/O 调优相关工具)
iotop命令,查看哪个进程使用磁盘读写最多
参数:
-o, –only 只显示在读写硬盘的程序
-d SEC, –delay=SEC 设定显示时间间隔
退出,按q或ctrl+C
yum install -y iotop
//命令安装
iotop -o -d 1
//显示正在使用磁盘的进程,另外执行find
Total DISK READ: 99.13 K/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
45249 be/4 root 99.13 K/s 0.00 B/s 0.00 % 11.38 % find /
3052 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % gnome-terminal -x ……
可以看到DISK READ 速度飙升,IO比例增大
iotop
//不加参数,动态查看所有进程使用磁盘的状态
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
2656 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % dbus-launch --sh-s~-exit-with-session
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
4 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
5 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
6 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
8 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1]
10 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1]
11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/2]
12 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/2]
13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/2]