当前位置:   article > 正文

linux查看磁盘IO,网络IO 总结_linux 查看磁盘io

linux 查看磁盘io

use

  1. # 磁盘 IO 统计 :
  2. // yum install dstat -y
  3. dstat -dD sda,sda2,total # use
  4. # 展示每个磁盘使用百分比
  5. dstat -dD sda,sda2,total --disk-util # use
  6. dstat -d --disk-util # use
  7. dstat --disk-tps 1 5 # 监视磁盘的每秒事务数, 监视5s, 1秒打印一次报告
  8. dstat -n
  9. # 统计网络使用情况
  10. dstat -n -N ens3,total # 展示总体网络收发状态, 折算后附带单位友好展示

一、linux查看磁盘IO,网络 IO可用的命令

1. top    监控整体服务器,cpu,内存,磁盘,网络等

2. dstat -d 查看当前磁盘每秒的读取,写入量,单位K

3. dstat -r 查看当前磁盘随机的读IOPS,写IOPS

4. dstat -n 查看网卡每秒接收,发送量,单位K,不足1K时显示Byte数

5. pidstat 统计各个进程的磁盘IO,也可以监控指定进程,还可以监控cpu和内存

6. iotop 类似top命令,不过iotop是只监控io相关的进程

7. vmstat 监控io活跃的进程,还可以监控内存,cpu相关

二、各个命令详细解释

1. top    监控整体服务器

top    监控整体服务器cpu,内存,磁盘,网络等最常用的监控命令了,可以查看我的这篇博客

top命令总结_风情客家__的博客-CSDN博客

由于以下三个命令都用到了dstat,需要先安装,ubuntu下使用 apt install dstat 安装,centos下使用 yum -y install dstat  进行安装

2. dstat -d 查看当前磁盘每秒的读取,写入量

每秒刷新一次,单位K,不足1K时用B表字节数

每秒刷新一次,普通的机械硬盘可以做到每秒上百MB的读写数据量,SSD硬盘可以做到每秒500MB - 3000MB的读写数据量,大家可以依次估算

如下图,read表磁盘每秒读取量,104B表104字节,writ表磁盘每秒写入量,19K表写入了19K的数据

 3. dstat -r 查看当前磁盘随机的读IOPS,写IOPS

每秒刷新一次,普通的机械硬盘可以每秒300次的随机IOPS,SSD硬盘可以每秒8万-10万的随机IOPS,大家可以依次估算自己的硬盘使用情况

如下图,read表随机磁盘的每秒读取次数,writ表随机磁盘的每秒写入次数,即随机IOPS

比如writ为2.57就是每秒随机写入2.57次,极低了

4. dstat -n 查看网卡每秒接收,发送量,单位K,不足1K时显示Byte数

每秒刷新一次,现在都是千M网卡了,也就是网卡可以达到100多M每秒,依次可以估算网络流量距离极限还有多远

如下图

recv表网卡每秒收到的字节数,不足1K时用B表示byte数

send表网卡每秒发送出去的字节数,不足1K时用B表示byte数

 5. pidstat 统计各个进程的磁盘IO,还可以监控cpu和内存

每秒刷新一次,最后按下ctrl+C退出时会把刚才的监控平均值打印出来,如下图

 可以看到

第一列是当前时间戳

  • PID表进程号
  • kB_rd/s 表每秒read磁盘的数据量
  • kB_wr/s 表每秒write磁盘的数据量
  • kB_ccwr/s 表任务取消的写入磁盘的KB,当任务截断脏的pagecache的时候会发生
  • Command表该进程的启动命令
  • 最下面的Average是平均值,可以更清晰地看到各个进程的IO情况

6. iotop 类似top命令,不过iotop是只监控io相关的进程

每秒刷新一次,可以查看哪些进程使用io比较高

按下o键可以只显示I当前O活跃的线程,再按下o键可以恢复显示成全部的IO线程

按下p键可以把线程ID转换为进程ID,再按下p键可以恢复成线程ID

如下图

所有的列讲解一下

  1. Total DISK READ                :        从磁盘中读取的总速率
  2. Total DISK WRITE              :        往磁盘里写入的总速率
  3. Actual DISK READ                :        从磁盘中读取的实际速率
  4. Actual DISK WRITE                 :        往磁盘里写入的实际速率
  5. TID                                        :        线程ID,按p键可转换成进程ID,再按p键可恢复成线程ID
  6. PRIO                                        :        优先级
  7. USER                                :        线程所有者
  8. DISK READ                        :        从磁盘中读取的速率
  9. DISK WRITE                        :        往磁盘里写入的速率
  10. SWAPIN                                :        swap交换百分比
  11. IO>                                        :        IO等待所占用的百分比
  12. COMMAND                        :        具体的进程命令

7. vmstat 监控io活跃的进程,还可以监控内存,cpu相关

如下图,vmstat 表每隔2秒输出一次,一共输出3次

 procs

  •         r        等待运行的进程数
  •         b        处在非中断睡眠状态的进程数

memory

  •         swpd        虚拟内存使用情况,单位:K
  •         free        空闲的内存,单位K
  •         buff        被用来做为缓存的内存数,单位:K
  •         cache        被用来做为缓存的内存数,单位:K

swap

  •         si        从磁盘交换到内存的交换页数量
  •         so        从内存交换到磁盘的交换页数量

io

  •         bi        发送到块设备的块数        
  •         bo        从块设备接收到的块数

system

  •         in        每秒的中断数,包括时钟中断
  •         cs        每秒的环境(上下文)切换次数

cpu

  •         us        用户态CPU 使用百分比
  •         sy        内核态CPU 使用百分比
  •         id        cpu空闲百分比
  •         wa        
  •         st
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/608892
推荐阅读
相关标签
  

闽ICP备14008679号