十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我们在线上linux服务器排查问题时,一般会通过top、free、netstat、df -h等命令排查cpu、内存、网络和磁盘等问题。有的时候我们需要更进一步了解磁盘io的使用情况,本篇文章重点为大家讲解一下Linux下查看磁盘IO使用具体方法。

成都创新互联公司是一家专注于网站建设、网站设计与策划设计,东平网站建设哪家好?成都创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:东平等地区。东平做网站价格咨询:028-86922220
iostat[参数][时间][次数]
通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。
iostat
如图所示:
备注:如果**%iowait的值过高,表示硬盘存在I/O瓶颈,%idle**值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
iostat -d -k 1 10
参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 ,10表示,数据显示每隔1秒刷新一次,共显示10次。
1.4 指定监控的设备名称:
iostat -d sda 2
iostat -d -x -k 1 10
disk属性说明:
备注:如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有当量io在等待。
iostat -c 1 10
在这里插入图片描述
iostat -d -x -k 1 10
iostat -d -k 1 10
在这里插入图片描述
iostat -d -m 2
iotop是一款开源、免费的用来监控磁盘I/O使用状况的类似top命令的工具,iotop可以监控进程的I/O信息。它是Python语言编写的,与iostat工具比较,iostat是系统级别的IO监控,而iotop是进程级别IO监控。
2.1 安装:
yum install iotop
2.2 常用参数:
| 选项 | 解释 | 示例 |
|---|---|---|
| -o | 只显示有I/O操作的进程或线程,即存在disk read或disk write | iotop -o |
| -b | 批量显示,无交互,主要用于记录到文件 | iotop -b >> iotop.txt |
| -n NUM | 显示NUM次,主要用于非交互模式 | iotop -b -n 3 >> iotop.txt |
| -d SEC | 间隔SEC秒更新一次数据,默认1s | iotop –d 5 |
| -p PID | 列出监控的进程,默认全部 | iotop –p 3313(仅监控3313进程) |
| -u USER | 列出需要监控的用户,默认所有用户 | iotop –u oracle |
2.3 iotop的快捷键:
左右箭头:改变排序,默认按照IO使用百分比排序
2.4 iotop工具展示: 解释:
只显示正在产生I/O的进程
iotop -o