linux性能监控:IO性能监控命令之iostat命令

简介: linux性能监控:IO性能监控命令之iostat命令

640.jpg


内存监控命令之iostat命令


1概述:


iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析


2安装方法:


iostat属于sysstat软件包。可以直接安装。  yum install sysstat


3常用命令格式

iostat [参数] [时间] [次数]


4命令参数:


-c 显示CPU使用情况 -d 显示磁盘使用情况 -k 以K为单位显示 -m 以M为单位显示 -N 显示磁盘阵列(LVM) 信息 -n 显示NFS使用情况 -p 可以报告出每块磁盘的每个分区的使用情况 -t 显示终端和CPU的信息 -x 显示详细信息

5使用实例:


01

实例1:

显示所有设备负载情况

命令:

iostat

输出:


640.png

说明:

avg-cpu段:
%user: 在用户级别运行所使用的CPU的百分比.
%nice: nice操作所使用的CPU的百分比.
%sys: 在系统级别(kernel)运行所使用CPU的百分比.
%iowait: CPU等待硬件I/O时,所占用CPU百分比.
%idle: CPU空闲时间的百分比.
Device段:
tps: 每秒钟发送到的I/O请求数.
KB_read /s: 每秒读取的数据量.
KB_wrtn/s: 每秒写入的数据量.
KB_read:   读入的数据总量.
KB_wrtn:  写入的数据总量.


注意:

如果%iowait的值过高,表示硬盘存在I/O瓶颈

如果%idle值高,表示CPU较空闲

如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。

如果%idle值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。


02

实例2:

定时显示所有信息

命令:每隔2秒刷新显示,显示4次

iostat 2 4

输出:

640.png

03

实例3:

显示指定磁盘信息

命令:

iostat -d /dev/sda

输出:

640.png

04

实例4:

查看设备使用率(%util)、响应时间(await)

命令:

iostat -d -x -k  1 1

输出:


640.png

说明:

rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);
wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。
r/s:每秒读取的扇区数;
w/s:每秒写入的扇区数。
rKB/s:每秒向设备发出的读取请求数;wKB/s:每秒向设备发出的写请求数;
avgrq-sz: 平均请求扇区的大小
avgqu-sz: 是平均请求队列的长度。毫无疑问,队列长度越短越好。
r_await: io请求读取处理的平均时间
w_await:io请求写入处理的平均时间
svctm: 表示平均每次设备I/O操作的服务时间(以毫秒为单位)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢。
%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

05

实例5:

查看cpu状态

命令:

iostat -c 1 1

输出:


640.png

6常见用法: 

iostat -d -k 1 10   #查看TPS和吞吐量信息(磁盘读写速度单位为KB)
iostat -d -m 2      #查看TPS和吞吐量信息(磁盘读写速度单位为MB)
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)
iostat -c 1 10 #查看cpu状态


相关文章
|
5月前
|
传感器 缓存 Prometheus
在Linux中,如何进行硬件性能监控?
在Linux中,如何进行硬件性能监控?
|
5月前
|
缓存 Prometheus 监控
在Linux中,如何进行应用性能监控?
在Linux中,如何进行应用性能监控?
|
5月前
|
Prometheus 监控 Ubuntu
在Linux中,如何进行磁盘性能监控?
在Linux中,如何进行磁盘性能监控?
|
5月前
|
运维 Prometheus 监控
在Linux中,如何进行系统性能监控?
在Linux中,如何进行系统性能监控?
|
5月前
|
Unix 数据处理 Perl
|
5月前
|
存储 监控 Ubuntu
完全交互式!易于使用的 Linux 性能监控工具
完全交互式!易于使用的 Linux 性能监控工具
|
6月前
|
Linux 数据处理 C语言
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(下)
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(下)
90 0
|
6月前
|
Linux 编译器 C语言
【Linux】基础IO----理解缓冲区
【Linux】基础IO----理解缓冲区
89 0
【Linux】基础IO----理解缓冲区
|
6月前
|
缓存 网络协议 算法
【Linux系统编程】深入剖析:四大IO模型机制与应用(阻塞、非阻塞、多路复用、信号驱动IO 全解读)
在Linux环境下,主要存在四种IO模型,它们分别是阻塞IO(Blocking IO)、非阻塞IO(Non-blocking IO)、IO多路复用(I/O Multiplexing)和异步IO(Asynchronous IO)。下面我将逐一介绍这些模型的定义:
327 2
|
7月前
|
运维 监控 网络协议
Linux 下的性能监控与分析技巧
在Linux环境中,命令行工具助力服务器管理和故障排查。通过示例展示如何监控网络、TCP连接、CPU及内存使用。例如,用`netstat`结合`awk`查TOP 20高频率IP访问80端口,识别DDoS迹象;`netstat -nat`统计TCP状态;`ps -aux`排序列出CPU和内存消耗大的进程;`find`加`tar`查找并压缩`.conf`文件。掌握这些命令提升运维效率。
51 1