CPU及磁盘性能监测
一、简述
sysstat 包含了常用的 Linux 性能工具,用来监控和分析系统的性能。本次内容会用到这个包的两个命令 mpstat 和iostat。
mpstat 是一个常用的多核 CPU 性能分析工具,用来实时查看每个 CPU 的性能指标,以及所有 CPU 的平均指标。
iostat是一个常用的磁盘读写性能分析工具,用来查看磁盘读写以及I/O等性能指标
二、CPU性能—mpstat
1、安装sysstat
yum install -y sysstat #安装mpstat命令软件
2、参数使用
-P #{cpu ALL}
internval # 相邻两次采样的间隔时间
count # 采样的次数,count只能和internval一起使用
3、输出结果参数解释
%usr #用户所有使用的CPU百分比
%nice #使用 nice 值的 CPU 的百分比。
%sys #内核进程使用的 CPU 百分比。
%iowait #等待进行 I/O 所使用的 CPU 时间百分比。
%irq #表示用于处理系统中断的CPU百分比
%soft #表示用于软件中断的CPU百分比
%steal #虚拟机强制CPU等待的时间百分比
%guest #虚拟机占用CPU时间的百分比
%gnice #CPU运行niced guest虚拟机所花费的时间百分比
%idle #CPU的空闲时间的百分比
4、应用结果
解释:此页面可以看到,此服务器存在2个cpu,所有cpu的评价空闲率为86.80%。
三、磁盘性能—iostat
1、iostat参数使用
-d:仅显示磁盘统计信息
-h:使用NFS(Network File System网络文件系统)的输出报告,更加友好可读。需要使用-n参数开启NFS。
-k:以 kb 为单位显示,默认情况下,iostat的输出是以block作为计量单位,加上这个参数可以以kb作为计量单位显示。(该参数仅在linux内核版本2.4以后数据才是准确的)
-m:以 mb 为单位显示(该参数仅在linux内核版本2.4以后数据才是准确的)
-N:显示磁盘阵列(LVM) 信息。
-V:显示版本信息
-x:显示更详细的磁盘报告信息,默认只显示六列,加上该参数后会显示更详细的信息(该参数仅在linux内核版本2.4以后数据才是准确的)
-n:显示NFS(Network File System网络文件系统) 使用情况(该参数仅在linux内核版本2.6.17以后有效)
2、输出结果参数
tps #该设备每秒的传输次数
kB_read/s #每秒从设备读取的数据量
kB_wrtn/s #每秒向设备写入的数据量
kB_read #读取的总数据量
kB_wrtn #写入的总数据量
avgqu-sz #平均I/O队列长度,即IO等待个数。数值越低越好
await #每一个IO请求的处理的平均时间(单位ms)
%util #在统计时间内所有处理IO时间,除以总共统计时间
3、结果展示
a.每隔 2秒刷新显示详细信息,显示3次
b.吞吐量计算:rMB/s+wMB/s
c.IOPS计算:r/s+w/s
d.IO 瓶颈:如果%iowait的值过高,表示硬盘存在I/O瓶颈
四、磁盘性能—iotop
1、安装
yum -y install iotop
2、参数介绍
-o:只显示有io操作的进程
-b:批量显示,无交互,主要用作记录到文件。
-n NUM:显示NUM次,主要用于非交互式模式。
-d SEC:间隔SEC秒显示一次。
-p PID:监控的进程pid。
-u USER:监控的进程用户。
-P --processes #只显示进程
3、结果参数介绍
Total DISK READ: #从磁盘中读取的总速率
Total DISK WRITE: #往磁盘里写入的总速率
Actual DISK READ: #从磁盘中读取的实际速率
Actual DISK WRITE: #往磁盘里写入的实际速率
TID: #线程ID,按p可转换成进程ID
PRIO: #优先级
USER: #线程所有者
DISK READ: #从磁盘中读取的速率
DISK WRITE: #往磁盘里写入的速率
SWAPIN: #swap交换百分比
IO>: #IO等待所占用的百分比
4、结果展示
a.查看wget进程的io情况
b. 查看所有进程的io情况