Linux查看IO状态的常用命令都有哪些呢?

介绍下linux的3个常用i/o相关命令,解决i/o压力过大问题时用iostat,查看磁盘的i/o状态用iotop,查看i/o进程排名用lsof
一、iostat
iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出cpu使用情况。要想使用iostat命令,需要安装sysstat软件
[root@localhost ~]# yum -y install sysstat[root@localhost ~]# iostatlinux 5.14.0-162.6.1.el9_1.x86_64 (localhost.localdomain) 12/02/22 _x86_64_ (2 cpu)avg-cpu: %user %nice %system %iowait %steal %idle 1.75 0.02 5.84 0.60 0.00 91.79device tps kb_read/s kb_wrtn/s kb_dscd/s kb_read kb_wrtn kb_dscddm-0 73.70 2078.84 358.65 0.00 162919 28107 0dm-1 1.26 29.96 0.00 0.00 2348 0 0nvme0n1 104.45 2809.71 385.01 0.00 220197 30173 0sr0 1.03 40.12 0.00 0.00 3144 0 0  
输出信息:
avg-cpu段
%user: 用户程序占用cpu的百分比%nice: nice操作占用cpu的百分比%system: 系统占用cpu的百分比%iowait: cpu等待硬件i/o时占用cpu百分比%idle: cpu空闲时间的百分比  
device段
tps: 每秒钟i/o请求数kb_read /s: 每秒读取的块数kb_wrtn/s: 每秒写入的块数kb_read: 读入的块总数kb_wrtn: 写入的块总数  
常用参数
-c 仅显示cpu统计信息,与-d互斥-d 仅显示磁盘统计信息,与-c互斥-k 以k为单位显示每秒的磁盘请求数,默认单位块-p 设备名 | all,只显示某个设备的信息,或者全部设备-x 输出扩展信息sec 间隔sec秒显示一次  
二、iotop
iotop用来监视磁盘 i/o 使用状况的 top 类工具,具有与 top 相似的 ui,其中包括 pid、用户、i/o、进程等相关信息。iotop不是系统自带的命令,要想使用iotop命令,需要安装iotop软件。
[root@localhost ~]# yum -y install iotop[root@localhost ~]# iotoptotal disk read : 0.00 b/s | total disk write : 0.00 b/sactual disk read: 0.00 b/s | actual disk write: 0.00 b/s tid prio user disk read disk write> command 1 be/4 root 0.00 b/s 0.00 b/s systemd --switched-root --system --deserialize 28 2 be/4 root 0.00 b/s 0.00 b/s [kthreadd] 3 be/4 root 0.00 b/s 0.00 b/s [rcu_gp] 4 be/4 root 0.00 b/s 0.00 b/s [rcu_par_gp] 5 be/4 root 0.00 b/s 0.00 b/s [netns] 7 be/4 root 0.00 b/s 0.00 b/s [kworker/0:0h-events_highpri] 9 be/4 root 0.00 b/s 0.00 b/s [kworker/0:1h-events_highpri] 10 be/4 root 0.00 b/s 0.00 b/s [mm_percpu_wq] 12 be/4 root 0.00 b/s 0.00 b/s [rcu_tasks_kthre] 13 be/4 root 0.00 b/s 0.00 b/s [rcu_tasks_rude_] 14 be/4 root 0.00 b/s 0.00 b/s [rcu_tasks_trace] 15 be/4 root 0.00 b/s 0.00 b/s [ksoftirqd/0] 16 be/4 root 0.00 b/s 0.00 b/s [rcu_preempt] 17 be/4 root 0.00 b/s 0.00 b/s [migration/0] 19 be/4 root 0.00 b/s 0.00 b/s [cpuhp/0] 20 be/4 root 0.00 b/s 0.00 b/s [cpuhp/1]  
通过输出结果,我们可以清楚地知晓是什么程序在读写磁盘,速度以及命令行,pid 等信息。
常用参数
-b 批量显示,无交互。主要用作记录到文件-n num 显示num次,主要用于非交互式模式-d sec 间隔sec秒显示一次-p pid 监控的进程pid-u user 监控的进程用户  
三、lsof
lsof(list open files)是一个列出当前系统打开文件的工具,lsof 需要访问核心内存和各种文件,所以必须以root身份执行才能充分发挥优势。lsof不是系统自带的命令,要想使用lsof命令,需要安装lsof软件。
[root@localhost ~]# yum -y install lsof[root@localhost ~]# lsofcommand pid tid taskcmd user fd type device size/off node namesystemd 1 root cwd dir 253,0 235 128 /systemd 1 root rtd dir 253,0 235 128 /systemd 1 root txt reg 253,0 1945080 67508326 /usr/lib/systemd/systemdsystemd 1 root mem reg 253,0 45416 67348788 /usr/lib64/libffi.so.8.1.0systemd 1 root mem reg 253,0 153600 67348802 /usr/lib64/libgpg-error.so.0.32.0systemd 1 root mem reg 253,0 28568 67348896 /usr/lib64/libattr.so.1.1.2501systemd 1 root mem reg 253,0 102568 67348636 /usr/lib64/libz.so.1.2.11systemd 1 root mem reg 253,0 32528 67348775 /usr/lib64/libcap-ng.so.0.0.0systemd 1 root mem reg 253,0 41064 67420376 /usr/lib64/libeconf.so.0.4.1systemd 1 root mem reg 253,0 637880 67348851 /usr/lib64/libpcre2-8.so.0.11.0systemd 1 root mem reg 253,0 906176 67323555 /usr/lib64/libm.so.6systemd 1 root mem reg 253,0 178744 67348640 /usr/lib64/liblzma.so.5.2.5systemd 1 root mem reg 253,0 882384 67348653 /usr/lib64/libzstd.so.1.5.1systemd 1 root mem reg 253,0 1293840 67348792 /usr/lib64/libp11-kit.so.0.3.0systemd 1 root mem reg 253,0 4459096 67420748 /usr/lib64/libcrypto.so.3.0.1systemd 1 root mem reg 253,0 144144 67348822 /usr/lib64/liblz4.so.1.9.3systemd 1 root mem reg 253,0 1305536 67348868 /usr/lib64/libgcrypt.so.20.4.0systemd 1 root mem reg 253,0 201832 67348663 /usr/lib64/libcrypt.so.2.0.0systemd 1 root mem reg 253,0 36944 67348643 /usr/lib64/libcap.so.2.48  
参数说明:
pid:进程标识符
user:进程所有者
fd:文件描述符
type:文件类型,如dir、reg等
device:指定磁盘的名称
size:文件的大小
node:索引节点
name:打开文件的确切名称常用参数lsof abc.txt 显示开启文件abc.txt的进程
常见使用方法:
lsof -c abc 显示abc进程现在打开的文件lsof -p 1234 列出进程号为1234的进程所打开的文件lsof -g gid 显示归属gid的进程情况lsof +d /dir/ 显示dir目录下被进程打开的文件


iQOONeo高清开箱图赏
微型直流减速电机的分类、应用以及使用
为什么人工智能用python
CDMA2000和W-CDMA的大功率放大器的RF功率测量
中国联通正式启动新招商众筹撮合将全面构建终端产业链新生态
Linux查看IO状态的常用命令都有哪些呢?
全面解读人工智能核心技术之计算机视觉
基于工业智能网关的城市灯控节能系统有何功能
中智行与福瑞泰克合作开发基于车路协同的高度自动驾驶重卡
FTTR案例之直播异常中断后自行恢复问题原因
CPU封装技术
接触器可以控制大电流电路通断主要元件
人工智能是新一轮科技革命和产业变革的重要驱动力量
什么是3D打印之PID调试
综合元器件厂商集体瞄准西部工业及军工应用
植保无人机具备的优势有哪些
Linux终端操作高效率快捷键
特斯拉放大招,自研的4680新型电池是何来头?
荣耀Earbuds 2 SE首销获京东天猫双冠军,赵明称未来重量级产品将逐一亮相
爱驰U5或将成为首款电磁辐射达标的电动汽车