來源:https://www.cnblogs.com/arthinking/p/14450337.html
介紹下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 ~]# iostat
Linux 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.750.025.840.600.0091.79
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
dm-073.702078.84358.650.00162919281070
dm-11.2629.960.000.00234800
nvme0n1 104.452809.71385.010.00220197301730
sr01.0340.120.000.00314400
輸出資訊:
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~]# iotop
TotalDISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
ActualDISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TIDPRIO USER DISK READ DISK WRITE> COMMAND
1be/4 root 0.00 B/s 0.00 B/s systemd --switched-root --system --deserialize 28
2be/4 root 0.00 B/s 0.00 B/s [kthreadd]
3be/4 root 0.00 B/s 0.00 B/s [rcu_gp]
4be/4 root 0.00 B/s 0.00 B/s [rcu_par_gp]
5be/4 root 0.00 B/s 0.00 B/s [netns]
7be/4 root 0.00 B/s 0.00 B/s [kworker/0:0H-events_highpri]
9be/4 root 0.00 B/s 0.00 B/s [kworker/0:1H-events_highpri]
10be/4 root 0.00 B/s 0.00 B/s [mm_percpu_wq]
12be/4 root 0.00 B/s 0.00 B/s [rcu_tasks_kthre]
13be/4 root 0.00 B/s 0.00 B/s [rcu_tasks_rude_]
14be/4 root 0.00 B/s 0.00 B/s [rcu_tasks_trace]
15be/4 root 0.00 B/s 0.00 B/s [ksoftirqd/0]
16be/4 root 0.00 B/s 0.00 B/s [rcu_preempt]
17be/4 root 0.00 B/s 0.00 B/s [migration/0]
19be/4 root 0.00 B/s 0.00 B/s [cpuhp/0]
20be/4 root 0.00 B/s 0.00 B/s [cpuhp/1]
透過輸出結果,我們可以清楚地知曉是什麽程式在讀寫磁盤,速度以及命令列,pid 等資訊。ChatGPT中文網站:https://aigc.cxyquan.com
常用參數
-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~]# lsof
COMMANDPID TID TASKCMD USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd1 root cwd DIR 253,0 235 128 /
systemd1 root rtd DIR 253,0 235 128 /
systemd1 root txt REG 253,0 1945080 67508326 /usr/lib/systemd/systemd
systemd1 root mem REG 253,0 45416 67348788 /usr/lib64/libffi.so.8.1.0
systemd1 root mem REG 253,0 153600 67348802 /usr/lib64/libgpg-error.so.0.32.0
systemd1 root mem REG 253,0 28568 67348896 /usr/lib64/libattr.so.1.1.2501
systemd1 root mem REG 253,0 102568 67348636 /usr/lib64/libz.so.1.2.11
systemd1 root mem REG 253,0 32528 67348775 /usr/lib64/libcap-ng.so.0.0.0
systemd1 root mem REG 253,0 41064 67420376 /usr/lib64/libeconf.so.0.4.1
systemd1 root mem REG 253,0 637880 67348851 /usr/lib64/libpcre2-8.so.0.11.0
systemd1 root mem REG 253,0 906176 67323555 /usr/lib64/libm.so.6
systemd1 root mem REG 253,0 178744 67348640 /usr/lib64/liblzma.so.5.2.5
systemd1 root mem REG 253,0 882384 67348653 /usr/lib64/libzstd.so.1.5.1
systemd1 root mem REG 253,0 1293840 67348792 /usr/lib64/libp11-kit.so.0.3.0
systemd1 root mem REG 253,0 4459096 67420748 /usr/lib64/libcrypto.so.3.0.1
systemd1 root mem REG 253,0 144144 67348822 /usr/lib64/liblz4.so.1.9.3
systemd1 root mem REG 253,0 1305536 67348868 /usr/lib64/libgcrypt.so.20.4.0
systemd1 root mem REG 253,0 201832 67348663 /usr/lib64/libcrypt.so.2.0.0
systemd1 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目錄下被行程開啟的檔
<END>
點這裏👇關註我,記得標星呀~
往期精選:
GPT中文網站
可以在國內同GPT直接進行對話,支持ChatGPT4.0 和 Midjourney繪圖,簡直太方便了,今天新註冊的直接送4.0提問次數 !
感謝你的分享,點贊,在看三連