102)linux效能分析命令
1- top
1.1- 輸出
top能夠實時顯示系統中各個程序的資源佔用狀況.
top - 00:24:36 up 17 min, 2 users, load average: 0.00, 0.01, 0.04 Tasks: 114 total, 3 running, 111 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 7990132 total, 7464132 free, 271568 used, 254432 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 7473312 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 125360 3808 2588 S 0.0 0.0 0:01.95 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0+ 6 root 20 0 0 0 0 S 0.0 0.0 0:00.04 ksoftirqd+ 7 root rt 0 0 0 0 S 0.0 0.0 0:00.06 migration+ 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 R 0.0 0.0 0:00.44 rcu_sched 10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-d+ 11 root rt 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0 12 root rt 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/1 13 root rt 0 0 0 0 S 0.0 0.0 0:00.02 migration+ 14 root 20 0 0 0 0 S 0.0 0.0 0:00.04 ksoftirqd+ 15 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kworker/1+ 16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1+ 18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs 19 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns 20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd 21 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback
第一行,任務佇列資訊,同 uptime 命令的執行結果
系統時間:00:24:36
執行時間:up 1:57 min,
當前登入使用者: 3 user
負載均衡(uptime) load average: 0.00, 0.00, 0.00
average後面的三個數分別是1分鐘、5分鐘、15分鐘的負載情況。
load average資料是每隔5秒鐘檢查一次活躍的程序數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了
第二行,Tasks — 任務(程序)
總程序:150 total, 執行:1 running, 休眠:149 sleeping, 停止: 0 stopped, 殭屍程序: 0 zombie
第三行,cpu狀態資訊
0.0%us【user space】— 使用者空間佔用CPU的百分比。
0.3%sy【sysctl】— 核心空間佔用CPU的百分比。
0.0%ni【】— 改變過優先順序的程序佔用CPU的百分比
99.7%id【idolt】— 空閒CPU百分比
0.0%wa【wait】— IO等待佔用CPU的百分比
0.0%hi【Hardware IRQ】— 硬中斷佔用CPU的百分比
0.0%si【Software Interrupts】— 軟中斷佔用CPU的百分比
第四行,記憶體狀態
1003020k total, 234464k used, 777824k free, 24084k buffers【快取的記憶體量】
第五行,swap交換分割槽資訊
2031612k total, 536k used, 2031076k free, 505864k cached【緩衝的交換區總量】
記憶體計算方式:
備註:
可用記憶體=free + buffer + cached
對於記憶體監控,在top裡我們要時刻監控第五行swap交換分割槽的used,如果這個數值在不斷的變化,說明核心在不斷進行記憶體和swap的資料交換,這是真正的記憶體不夠用了。
第四行中使用中的記憶體總量(used)指的是現在系統核心控制的記憶體數,
第四行中空閒記憶體總量(free)是核心還未納入其管控範圍的數量。
納入核心管理的記憶體不見得都在使用中,還包括過去使用過的現在可以被重複利用的記憶體,核心並不把這些可被重新使用的記憶體交還到free中去,因此在linux上free記憶體會越來越少,但不用為此擔心。
第七行以下:各程序(任務)的狀態監控
PID — 程序id
USER — 程序所有者
PR — 程序優先順序
NI — nice值。負值表示高優先順序,正值表示低優先順序
VIRT — 程序使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES
RES — 程序使用的、未被換出的實體記憶體大小,單位kb。RES=CODE+DATA
SHR — 共享記憶體大小,單位kb
S —程序狀態。D=不可中斷的睡眠狀態 R=執行 S=睡眠 T=跟蹤/停止 Z=殭屍程序
%CPU — 上次更新到現在的CPU時間佔用百分比
%MEM — 程序使用的實體記憶體百分比
TIME+ — 程序使用的CPU時間總計,單位1/100秒
COMMAND — 程序名稱(命令名/命令列)
詳解
**VIRT:virtual memory usage 虛擬記憶體
**1、程序“需要的”虛擬記憶體大小,包括程序使用的庫、程式碼、資料等
2、假如程序申請100m的記憶體,但實際只使用了10m,那麼它會增長100m,而不是實際的使用量RES:resident memory usage 常駐記憶體
1、程序當前使用的記憶體大小,但不包括swap out
2、包含其他程序的共享
3、如果申請100m的記憶體,實際使用10m,它只增長10m,與VIRT相反
4、關於庫佔用記憶體的情況,它只統計載入的庫檔案所佔記憶體大小SHR:shared memory 共享記憶體
1、除了自身程序的共享記憶體,也包括其他程序的共享記憶體
2、雖然程序只使用了幾個共享庫的函式,但它包含了整個共享庫的大小
3、計算某個程序所佔的實體記憶體大小公式:RES – SHR
4、swap out後,它將會降下來DATA
1、資料佔用的記憶體。如果top沒有顯示,按f鍵可以顯示出來。
2、真正的該程式要求的資料空間,是真正在執行中要使用的。top 執行中可以通過 top 的內部命令對程序的顯示方式進行控制。內部命令如下:
s – 改變畫面更新頻率
l – 關閉或開啟第一部分第一行 top 資訊的表示
t – 關閉或開啟第一部分第二行 Tasks 和第三行 Cpus 資訊的表示
m – 關閉或開啟第一部分第四行 Mem 和 第五行 Swap 資訊的表示
N – 以 PID 的大小的順序排列表示程序列表
P – 以 CPU 佔用率大小的順序排列程序列表
M – 以記憶體佔用率大小的順序排列程序列表
h – 顯示幫助
n – 設定在程序列表所顯示程序的數量
q – 退出 top
s – 改變畫面更新週期
1.2- top使用方法
使用格式:
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
引數說明:
d:指定每兩次螢幕資訊重新整理之間的時間間隔。當然使用者可以使用s互動命令來改變之。
p:通過指定監控程序ID來僅僅監控某個程序的狀態。
q:該選項將使top沒有任何延遲的進行重新整理。如果呼叫程式有超級使用者許可權,那麼top將以儘可能高的優先順序執行。
S:指定累計模式。
s:使top命令在安全模式中執行。這將去除互動命令所帶來的潛在危險。
i:使top不顯示任何閒置或者僵死程序。
c:顯示整個命令列而不只是顯示命令名
2- sar
安裝:
apt install sysstat -y
yum install sysstat -y
語法格式:
sar [ 選項 ] [ <時間間隔> [ <次數> ] ]
[root@openshift ~]# sar --help
Usage: sar [ options ] [ <interval> [ <count> ] ]
Options are:
[ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F [ MOUNT ] ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]
[ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ]
[ -I { <int> [,...] | SUM | ALL | XALL } ] [ -P { <cpu> [,...] | ALL } ]
[ -m { <keyword> [,...] | ALL } ] [ -n { <keyword> [,...] | ALL } ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ -f [ <filename> ] | -o [ <filename> ] | -[0-9]+ ]
[ -i <interval> ] [ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]
[root@openshift ~]#
-A:所有報告的總和
-b:顯示I/O和傳遞速率的統計資訊
-B:顯示換頁狀態
-d:輸出每一塊磁碟的使用資訊
-e:設定顯示報告的結束時間
-f:從制定的檔案讀取報告
-i:設定狀態資訊重新整理的間隔時間
-P:報告每個CPU的狀態
-R:顯示記憶體狀態
–u:輸出cpu使用情況和統計資訊
–v:顯示索引節點、檔案和其他核心表的狀態
-w:顯示交換分割槽的狀態
-x:顯示給定程序的裝
-r:報告記憶體利用率的統計資訊
2.1- CPU利用率
sar -p (檢視全天)
sar -u 1 10 (1:每隔一秒,10:寫入10次)
[root@openshift ~]# sar -u 1 10
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
12:36:48 AM CPU %user %nice %system %iowait %steal %idle
12:36:49 AM all 0.00 0.00 0.00 0.00 0.00 100.00
12:36:50 AM all 0.00 0.00 0.00 0.00 0.00 100.00
12:36:51 AM all 0.00 0.00 0.50 0.00 0.00 99.50
12:36:52 AM all 0.00 0.00 0.00 0.00 0.00 100.00
12:36:53 AM all 0.00 0.00 0.00 0.00 0.00 100.00
12:36:54 AM all 0.00 0.00 0.50 0.00 0.00 99.50
12:36:55 AM all 0.00 0.00 0.00 0.00 0.00 100.00
12:36:56 AM all 0.00 0.00 0.00 0.00 0.00 100.00
12:36:57 AM all 0.00 0.00 0.50 0.00 0.00 99.50
12:36:58 AM all 0.00 0.00 0.00 0.00 0.00 100.00
Average: all 0.00 0.00 0.15 0.00 0.00 99.85
輸出項 | 詳細說明 |
---|---|
CPU | all 表示統計資訊為所有 CPU 的平均值。 |
%user | 顯示在使用者級別(application)執行使用 CPU 總時間的百分比。 |
%nice | 顯示在使用者級別,用於nice操作,所佔用 CPU 總時間的百分比。 |
%system | 在核心級別(kernel)執行所使用 CPU 總時間的百分比。 |
%iowait | 顯示用於等待I/O操作佔用 CPU 總時間的百分比。 |
%steal | 管理程式(hypervisor)為另一個虛擬程序提供服務而等待虛擬 CPU 的百分比。 |
%idle | 顯示 CPU 空閒時間佔用 CPU 總時間的百分比。 |
2.2- 記憶體利用率
sar -r (檢視全天)
sar -r 1 10 (1:每隔一秒,10:寫入10次)
[root@openshift ~]# sar -r 1 10
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
12:37:14 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
12:37:15 AM 7281024 709108 8.87 2108 389952 667084 6.61 281332 223916 0
12:37:16 AM 7281024 709108 8.87 2108 389952 667084 6.61 281336 223916 0
12:37:17 AM 7281024 709108 8.87 2108 389952 667084 6.61 281344 223916 0
12:37:18 AM 7281024 709108 8.87 2108 389952 667084 6.61 281344 223916 0
12:37:19 AM 7281024 709108 8.87 2108 389952 667084 6.61 281344 223916 0
12:37:20 AM 7281024 709108 8.87 2108 389952 667084 6.61 281344 223916 0
12:37:21 AM 7281024 709108 8.87 2108 389952 667084 6.61 281344 223916 0
12:37:22 AM 7281024 709108 8.87 2108 389952 667084 6.61 281344 223916 0
12:37:23 AM 7281024 709108 8.87 2108 389952 667084 6.61 281344 223916 0
12:37:24 AM 7281024 709108 8.87 2108 389952 667084 6.61 281344 223916 0
Average: 7281024 709108 8.87 2108 389952 667084 6.61 281342 223916 0
輸出項 | 詳細說明 |
---|---|
kbmemfree | 這個值和free命令中的free值基本一致,所以它不包括buffer和cache的空間。 |
kbmemused | 這個值和free命令中的used值基本一致,所以它包括buffer和cache的空間。 |
%memused | 這個值是kbmemused和記憶體總量(不包括swap)的一個百分比。 |
kbbuffers和kbcached | 這兩個值就是free命令中的buffer和cache。 |
kbcommit | 保證當前系統所需要的記憶體,即為了確保不溢位而需要的記憶體(RAM+swap)。 |
%commit | 這個值是kbcommit與記憶體總量(包括swap)的一個百分比。 |
2.3- 磁碟I/O
sar -d (檢視全天)
sar -d 1 2 (1:每隔一秒,2:寫入2次)
[root@openshift ~]# sar -d 1 2
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
12:38:08 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
12:38:09 AM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:38:09 AM dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:38:09 AM dev253-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:38:09 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
12:38:10 AM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:38:10 AM dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:38:10 AM dev253-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: dev253-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
DEV 磁碟裝置的名稱,如果不加-p,會顯示dev253-0類似的裝置名稱,因此加上-p顯示的名稱更直接
tps 每秒I/O的傳輸總數
rd_sec/s 每秒讀取的扇區的總數
wr_sec/s 每秒寫入的扇區的總數
avgrq-sz 平均每次次磁碟I/O操作的資料大小(扇區)
avgqu-sz 磁碟請求佇列的平均長度
await 從請求磁碟操作到系統完成處理,每次請求的平均消耗時間,包括請求佇列等待時間,單位是毫秒(1秒等於1000毫秒),等於尋道時間+佇列時間+服務時間
svctm I/O的服務處理時間,即不包括請求佇列中的時間
%util I/O請求佔用的CPU百分比,值越高,說明I/O越慢
2.4- 網路流量
sar -n DEV (檢視全天)
-n { <關鍵詞> [,...] | ALL }
關鍵詞可以是:
DEV 網絡卡
EDEV 網絡卡 (錯誤)
NFS NFS 客戶端
NFSD NFS 伺服器
SOCK Sockets (套接字) (v4)
IP IP 流 (v4)
EIP IP 流 (v4) (錯誤)
ICMP ICMP 流 (v4)
EICMP ICMP 流 (v4) (錯誤)
TCP TCP 流 (v4)
ETCP TCP 流 (v4) (錯誤)
UDP UDP 流 (v4)
SOCK6 Sockets (套接字) (v6)
IP6 IP 流 (v6)
EIP6 IP 流 (v6) (錯誤)
ICMP6 ICMP 流 (v6)
EICMP6 ICMP 流 (v6) (錯誤)
UDP6 UDP 流 (v6)
sar -n DEV 1 2 (1:每隔一秒,2:寫入2次)
[root@openshift ~]# sar -n DEV 1 2
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
12:38:46 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
12:38:47 AM ens37 2.00 1.00 0.12 0.09 0.00 0.00 0.00
12:38:47 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:38:47 AM ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:38:47 AM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:38:47 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
12:38:48 AM ens37 1.98 0.99 0.12 0.20 0.00 0.00 0.00
12:38:48 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:38:48 AM ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:38:48 AM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average: ens37 1.99 1.00 0.12 0.14 0.00 0.00 0.00
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[root@openshift ~]#
輸出項 | 詳細說明 |
---|---|
IFACE | 就是網路裝置的名稱。 |
rxpck/s | 每秒鐘接收到的包數目。 |
txpck/s | 每秒鐘傳送出去的包數目。 |
rxkB/s | 每秒鐘接收到的位元組數。 |
txkB/s | 每秒鐘傳送出去的位元組數。 |
rxcmp/s | 每秒鐘接收到的壓縮包數目。 |
txcmp/s | 每秒鐘傳送出去的壓縮包數目。 |
rxmcst/s | 每秒鐘接收到的多播包的包數目。 |
2.5- 平均負載
sar -q
sar -q 1 3
[root@openshift ~]# sar -q 1 3
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
12:39:16 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
12:39:17 AM 0 147 0.01 0.04 0.05 0
12:39:18 AM 0 147 0.01 0.04 0.05 0
12:39:19 AM 0 147 0.01 0.04 0.05 0
Average: 0 147 0.01 0.04 0.05 0
[root@openshift ~]#
runq-sz 執行佇列的長度(等待執行的程序數,每核的CP不能超過3個)
plist-sz 程序列表中的程序(processes)和執行緒數(threads)的數量
ldavg-1 最後1分鐘的CPU平均負載,即將多核CPU過去一分鐘的負載相加再除以核心數得出的平均值,5分鐘和15分鐘以此類推
ldavg-5 最後5分鐘的CPU平均負載
ldavg-15 最後15分鐘的CPU平均負載
blocked
2.6- 系統swap分割槽統計情況
sar -W
sar -W 1 3
[root@openshift ~]# sar -q 1 3
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
12:39:16 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
12:39:17 AM 0 147 0.01 0.04 0.05 0
12:39:18 AM 0 147 0.01 0.04 0.05 0
12:39:19 AM 0 147 0.01 0.04 0.05 0
Average: 0 147 0.01 0.04 0.05 0
[root@openshift ~]# sar -W 1 3
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
12:39:41 AM pswpin/s pswpout/s
12:39:42 AM 0.00 0.00
12:39:43 AM 0.00 0.00
12:39:44 AM 0.00 0.00
Average: 0.00 0.00
pswpin/s 每秒從交換分割槽到系統的交換頁面(swap page)數量
pswpott/s 每秒從系統交換到swap的交換頁面(swap page)的數量
2.7- IO和傳遞速率
sar -b
sar -b 1 3
[root@openshift ~]# sar -b 1 3
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
12:40:52 AM tps rtps wtps bread/s bwrtn/s
12:40:53 AM 0.99 0.00 0.99 0.00 9.90
12:40:54 AM 0.00 0.00 0.00 0.00 0.00
12:40:55 AM 7.00 0.00 7.00 0.00 115.00
Average: 2.65 0.00 2.65 0.00 41.39
tps 磁碟每秒鐘的IO總數,等於iostat中的tps
rtps 每秒鐘從磁碟讀取的IO總數
wtps 每秒鐘從寫入到磁碟的IO總數
bread/s 每秒鐘從磁碟讀取的塊總數
bwrtn/s 每秒鐘此寫入到磁碟的塊總數
2.8- 網路裝置通訊失敗資訊
sar -n EDVE
sar -n EDEV 1 1
[root@openshift ~]# sar -n EDEV 1 1
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
12:41:22 AM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
12:41:23 AM ens37 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:41:23 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:41:23 AM ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:41:23 AM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
Average: ens37 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
IFACE 網絡卡名稱
rxerr/s 每秒鐘接收到的損壞的資料包
txerr/s 每秒鐘傳送的資料包錯誤數
coll/s 當傳送資料包時候,每秒鐘發生的衝撞(collisions)數,這個是在半雙工模式下才有
rxdrop/s 當由於緩衝區滿的時候,網絡卡裝置接收端每秒鐘丟掉的網路包的數目
txdrop/s 當由於緩衝區滿的時候,網路裝置傳送端每秒鐘丟掉的網路包的數目
txcarr/s 當傳送資料包的時候,每秒鐘載波錯誤發生的次數
rxfram/s 在接收資料包的時候,每秒鐘發生的幀對其錯誤的次數
rxfifo/s 在接收資料包的時候,每秒鐘緩衝區溢位的錯誤發生的次數
txfifo/s 在發生資料包 的時候,每秒鐘緩衝區溢位的錯誤發生的次數
2.9- socket連線資訊
sar -n SOCK
sar -n SOCK 1 1
[root@openshift ~]# sar -n SOCK 1 1
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
12:41:58 AM totsck tcpsck udpsck rawsck ip-frag tcp-tw
12:41:59 AM 579 4 2 0 0 0
Average: 579 4 2 0 0 0
totsck 當前被使用的socket總數
tcpsck 當前正在被使用的TCP的socket總數
udpsck 當前正在被使用的UDP的socket總數
rawsck 當前正在被使用於RAW的skcket總數
if-frag 當前的IP分片的數目
tcp-tw TCP套接字中處於TIME-WAIT狀態的連線數量
2.10- TCP連線的統計
sar -n TCP
sar -n TCP 1 1
[root@openshift ~]# sar -n TCP 1 1
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
12:44:20 AM active/s passive/s iseg/s oseg/s
12:44:21 AM 0.00 0.00 1.00 1.00
Average: 0.00 0.00 1.00 1.00
active/s 新的主動連線
passive/s 新的被動連線
iseg/s 接受的段
oseg/s 輸出的段
2.11- 其他
預設監控: sar 1 1 // CPU和IOWAIT統計狀態
(1) sar -b 1 1 // IO傳送速率
(2) sar -B 1 1 // 頁交換速率
(3) sar -c 1 1 // 程序建立的速率
(4) sar -d 1 1 // 塊裝置的活躍資訊
(5) sar -n DEV 1 1 // 網路裝置的狀態資訊
(6) sar -n SOCK 1 1 // SOCK的使用情況
(7) sar -n ALL 1 1 // 所有的網路狀態資訊
(8) sar -P ALL 1 1 // 每顆CPU的使用狀態資訊和IOWAIT統計狀態
(9) sar -q 1 1 // 佇列的長度(等待執行的程序數)和負載的狀態
(10) sar -r 1 1 // 記憶體和swap空間使用情況
(11) sar -R 1 1 // 記憶體的統計資訊(記憶體頁的分配和釋放、系統每秒作為BUFFER使用記憶體頁、每秒被cache到的記憶體頁)
(12) sar -u 1 1 // CPU的使用情況和IOWAIT資訊(同預設監控)
(13) sar -v 1 1 // inode, file and other kernel tablesd的狀態資訊
(14) sar -w 1 1 // 每秒上下文交換的數目
(15) sar -W 1 1 // SWAP交換的統計資訊(監控狀態同iostat 的si so)
(16) sar -x 2906 1 1 // 顯示指定程序(2906)的統計資訊,資訊包括:程序造成的錯誤、使用者級和系統級使用者CPU的佔用情況、執行在哪顆CPU上
(17) sar -y 1 1 // TTY裝置的活動狀態
(18) 將輸出到檔案(-o)和讀取記錄資訊(-f)
3- uptime
[root@openshift ~]# uptime
00:44:39 up 37 min, 2 users, load average: 0.00, 0.01, 0.05
#當前伺服器時間: ``08``:``21``:``34
#當前伺服器執行時長 ``36` `min
#當前使用者數 ``2` `users
#當前的負載均衡 load average ``0.00``, ``0.00``, ``0.00``,分別取1min,5min,15min的均值
系統平均負載是指在特定時間間隔內執行佇列中的平均程序數。
如果每個CPU核心的當前活動程序數不大於3的話,那麼系統的效能是良好的。如果每個CPU核心的任務數大於5,那麼這臺機器的效能有嚴重問題。如果你的linux主機是1個雙核CPU的話,當Load Average 為6的時候說明機器已經被充分使用了。
4- w
w
命令是一個在linux系統中用來顯示當前登入使用者及這些使用者正在做什麼的命令。它同時也能顯示系統執行時長,當前系統時間和系統平均負載情況。
命令語法格式:
w [OPTIONS] [USER]
21:41:07 up 12 days, 10:08, 2 users, load average: 0.28, 0.20, 0.10
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.10.0.2 20:59 1.00s 0.02s 0.00s w
linux265 pts/1 10.10.0.8 21:41 7.00s 0.00s 0.00s bash
第一行:
21:41:07
- 當前系統時間.up 12 days, 10:08
- 系統執行時長.2 users
- 登入使用者數.load average: 0.28, 0.20, 0.10
- 系統過去1,5,15分鐘的平均負載資訊。平均系統負載是對當前正在執行或正在等待磁碟I/O的作業數的度量。 它基本上告訴您系統在給定間隔內的繁忙程度。
第二行:
USER
– 登入使用者名稱.TTY
– 登入使用者使用的終端名.FROM
–登入使用者來源的主機名或IP地址.LOGIN@
– 使用者登入時長.IDLE
– 自使用者上一次與終端進行互動以來的空閒時間.JCPU
– 附加到tty的所有程序使用的時間.PCPU
–使用者當前程序所用的時間。 顯示在“ WHAT”欄位中的那個.WHAT
– 使用者當前的程序及選項/引數。
4.1- 檢視指定使用者
w root
22:08:55 up 12 days, 10:35, 2 users, load average: 0.00, 0.06, 0.12
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
linux265 pts/1 10.10.0.8 21:41 27:55 0.00s 0.00s bash
4.2- 命令選項
w -h //--no-header
選項告訴 w
命令不要列印標題頭部資訊:
w -f //--from
選項用來決定是否顯示FROM
欄位。 預設情況下,此檔案是顯示還是隱藏取決於您使用的發行版
w -o //--old-style
選項告訴w使用舊樣式輸出。 使用此選項時,當IDLE
,JCPU
和PCPU
時間少於一分鐘時,該命令將列印空白。
w -s //--short
選項告訴w
使用短樣式輸出。 使用此選項時,不會列印LOGIN @
,JCPU
和PCPU
欄位。
w -i //--ip-addr
選項強制w
在FROM
欄位中始終顯示IP
地址而不是主機名。
5- dmesg
dmesg 可以檢視linux 核心資訊.
命令選項:
dmesg --help
Usage:
dmesg [options]
Display or control the kernel ring buffer.
Options:
-C, --clear clear the kernel ring buffer
-c, --read-clear read and clear all messages
-D, --console-off disable printing messages to console
-E, --console-on enable printing messages to console
-F, --file <file> use the file instead of the kernel log buffer
-f, --facility <list> restrict output to defined facilities
-H, --human human readable output
-k, --kernel display kernel messages
-L, --color[=<when>] colorize messages (auto, always or never)
colors are enabled by default
-l, --level <list> restrict output to defined levels
-n, --console-level <level> set level of messages printed to console
-P, --nopager do not pipe output into a pager
-r, --raw print the raw message buffer
-S, --syslog force to use syslog(2) rather than /dev/kmsg
-s, --buffer-size <size> buffer size to query the kernel ring buffer
-u, --userspace display userspace messages
-w, --follow wait for new messages
-x, --decode decode facility and level to readable string
-d, --show-delta show time delta between printed messages
-e, --reltime show local time and time delta in readable format
-T, --ctime show human readable timestamp (may be inaccurate!)
-t, --notime don't print messages timestamp
--time-format <format> show time stamp using format:
[delta|reltime|ctime|notime|iso]
Suspending/resume will make ctime and iso timestamps inaccurate.
-h, --help display this help and exit
5.1- 列出所有被檢測到的硬體
顯示所有被核心檢測到的硬碟裝置
dmesg |grep sda
在‘dmesg’命令後跟隨‘tail’命令(‘ dmesg | tail -fn20’)來輸出‘dmesg’命令的最後20行日誌,當你插入可移動裝置時它是非常有用的。
5.2- dmesg日誌
實時監控dmesg日誌輸出:
tail -f /var/log/dmesg
5.2- 補充
dmesg -c 清除環形快取區,但/var/log/dmesg檔案中仍然有這些資訊。
dmesg | grep DMA 檢查硬碟是否執行在DMA模式,可以用在當發現硬碟效能低下時候檢查
dmesg | grep eth 當乙太網連線有問題時候可以使用他檢視,如果一切正常,那麼dmesg顯示每個網絡卡的硬體配置資訊。如果某項系統服務未能得到正確的配置,dmesg日誌很快就填滿錯誤訊息,這是診斷故障的良好起點
dmesg | tail 檢視尾部資訊
6- vmstat
用法:
vmstat [選項引數] [數字] [數字]
報告虛擬記憶體的統計資訊,關於程序、記憶體、I/O等系統整體執行狀態。
選項引數::
- -d: 顯示磁碟相關統計資訊。
- -a: 顯示活躍和非活躍記憶體
- -f: 顯示從系統啟動至今的fork數量。
- -p: 顯示指定磁碟分割槽統計資訊
- -s: 顯示記憶體相關統計資訊及多種系統活動數量。
- -m: 顯示slabinfo
6.1- 顯示虛擬記憶體使用情況
[root@openshift ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 7278636 2108 433012 0 0 69 18 47 93 0 0 99 0 0
欄位說明:
1. Procs(程序)
r: 執行佇列中程序數量,這個值也可以判斷是否需要增加CPU。(長期大於1)
b: 等待IO的程序數量。
2.Memory(記憶體)
swpd: 使用虛擬記憶體大小,如果swpd的值不為0,但是SI,SO的值長期為0,這種情況不會影響系統性能。
free: 空閒實體記憶體大小。
buff: 用作緩衝的記憶體大小。
cache: 用作快取的記憶體大小,如果cache的值大的時候,說明cache處的檔案數多,如果頻繁訪問到的檔案都能被cache處,那麼磁碟的讀IO bi會非常小。
3.Swap
si: 每秒從交換區寫到記憶體的大小,由磁碟調入記憶體。
so: 每秒寫入交換區的記憶體大小,由記憶體調入磁碟。
注意:
記憶體夠用的時候,這2個值都是0,如果這2個值長期大於0時,系統性能會受到影響,磁碟IO和CPU資源都會被消耗。有些朋友看到空閒記憶體(free)很少的或接近於0時,就認為記憶體不夠用了,不能光看這一點,還要結合si和so,如果free很少,但是si和so也很少(大多時候是0),那麼不用擔心,系統性能這時不會受到影響的。
4.IO(現在的Linux版本塊的大小為1kb)
bi: 每秒讀取的塊數
bo: 每秒寫入的塊數
注意:
隨機磁碟讀寫的時候,這2個值越大(如超出1024k),能看到CPU在IO等待的值也會越大。
5.system(系統)
in: 每秒中斷數,包括時鐘中斷。
cs: 每秒上下文切換數。
注意:
上面2個值越大,會看到由核心消耗的CPU時間會越大。
6.CPU(以百分比表示)
us: 使用者程序執行時間百分比(user time) us的值比較高時,說明使用者程序消耗的CPU時間多,但是如果長期超50%的使用,那麼我們就該考慮優化程式演算法或者進行加速。
sy: 核心系統程序執行時間百分比(system time) sy的值高時,說明系統核心消耗的CPU資源多,這並不是良性表現,我們應該檢查原因。
wa: IO等待時間百分比 wa的值高時,說明IO等待比較嚴重,這可能由於磁碟大量作隨機訪問造成,也有可能磁碟出現瓶頸(塊操作)。
id: 空閒時間百分比
6.2- 顯示磁碟的資訊
[root@openshift ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
sr0 0 0 0 0 0 0 0 0 0 0
sda 8948 3 671708 5171 1645 301 179448 1804 0 4
dm-0 6838 0 608076 4715 1930 0 175271 2335 0 4
dm-1 88 0 4408 19 0 0 0 0 0 0
第三列:merged:表示一次來自於合併的寫/讀請求,一般系統會把多個連線/鄰近的讀/寫請求合併到一起來操作
6.3- 顯示活躍記憶體與非活躍記憶體
[root@openshift ~]# vmstat -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
1 0 0 7280472 223644 281768 0 0 59 16 43 87 0 0 99 0 0
[root@openshift ~]#
6.4- 檢視系統已經被fork多少次
[root@openshift ~]# vmstat -f
2259 forks
6.5- 檢視特定磁碟裝置
[root@openshift ~]# vmstat -p /dev/sda1
sda1 reads read sectors writes requested writes
1918 51896 16 4177
這些資訊主要來自於/proc/diskstats。
reads: 來自於這個分割槽的讀的次數。
read sectors: 來自於這個分割槽的讀扇區的次數。
writes: 來自於這個分割槽的寫的次數。
requested writes: 來自於這個分割槽的寫請求次數
6.6- 顯示slabinfo(slab分配器)
[ less /proc/slabinfo ]
slab是一種記憶體管理演算法:
記憶體管理有兩個演算法:夥伴演算法(buddy system)和slab演算法。夥伴演算法是以頁為單位管理記憶體,slab演算法是以位元組為單位管理記憶體,是核心的小記憶體管理演算法。特點是基於物件進行管理。
slab分配演算法採用cache 儲存核心物件,把相同型別的物件歸為一類(如程序描述符就是一類),每當要申請這樣一個物件,slab分配器就從一個slab列表中分配一個這樣大小的單元出去,而當要釋放時,將其重新儲存在該列表中,而不是直接返回給夥伴系統,從而避免這些內碎片。
slab分配器並不丟棄已分配的物件,而是釋放並把它們儲存在記憶體中。當以後又要請求新的物件時,就可以從記憶體直接獲取而不用重複初始化。
[root@openshift ~]# vmstat -m
Cache Num Total Size Pages
nf_conntrack_ffffffff8af12a40 102 102 320 51
ovl_inode 96 96 680 48
kvm_vcpu 0 0 14432 2
xfs_dqtrx 0 0 528 62
xfs_dquot 0 0 488 67
xfs_ili 1872 1872 168 48
xfs_inode 3094 3094 960 34
xfs_efd_item 117 117 416 39
xfs_log_ticket 132 132 184 44
bio-3 153 153 320 51
kcopyd_job 0 0 3312 9
dm_uevent 0 0 2608 12
dm_rq_target_io 0 0 136 60
ip6_dst_cache 144 144 448 36
RAWv6 312 312 1216 26
UDPLITEv6 0 0 1216 26
UDPv6 52 52 1216 26
tw_sock_TCPv6 0 0 256 64
TCPv6 30 30 2112 15
cfq_queue 0 0 232 70
bsg_cmd 0 0 312 52
mqueue_inode_cache 36 36 896 36
Cache Num Total Size Pages
hugetlbfs_inode_cache 53 53 608 53
configfs_dir_cache 0 0 88 46
dquot 0 0 256 64
kioctx 112 112 576 56
userfaultfd_ctx_cache 0 0 192 42
pid_namespace 0 0 2200 14
posix_timers_cache 132 132 248 66
UDP-Lite 0 0 1088 30
flow_cache 0 0 144 56
UDP 60 60 1088 30
tw_sock_TCP 64 64 256 64
TCP 32 32 1984 16
dax_cache 84 84 768 42
blkdev_queue 39 39 2456 13
blkdev_ioc 78 78 104 39
user_namespace 136 136 480 68
dmaengine-unmap-128 30 30 1088 30
sock_inode_cache 1071 1071 640 51
fsnotify_mark_connector 340 340 24 170
net_namespace 6 6 5248 6
shmem_inode_cache 1824 1824 680 48
Acpi-State 204 204 80 51
Cache Num Total Size Pages
task_delay_info 324 324 112 36
taskstats 98 98 328 49
proc_inode_cache 1666 1666 656 49
sigqueue 102 102 160 51
bdev_cache 78 78 832 39
kernfs_node_cache 48620 48620 120 68
mnt_cache 1134 1134 384 42
inode_cache 22220 22220 592 55
dentry 114156 114156 192 42
iint_cache 0 0 128 64
avc_xperms_node 219 219 56 73
avc_node 10472 10472 72 56
selinux_inode_security 26826 26826 40 102
buffer_head 17589 17589 104 39
vm_area_struct 4433 4551 216 37
mm_struct 80 80 1600 20
files_cache 255 255 640 51
signal_cache 308 308 1152 28
sighand_cache 269 300 2112 15
task_xstate 351 351 832 39
task_struct 286 301 4208 7
anon_vma 2550 2550 80 51
Cache Num Total Size Pages
shared_policy_node 2975 2975 48 85
numa_policy 186 186 264 62
radix_tree_node 2856 2856 584 56
idr_layer_cache 255 255 2112 15
dma-kmalloc-8192 0 0 8192 4
dma-kmalloc-4096 0 0 4096 8
dma-kmalloc-2048 0 0 2048 16
dma-kmalloc-1024 0 0 1024 32
dma-kmalloc-512 64 64 512 64
dma-kmalloc-256 0 0 256 64
dma-kmalloc-128 0 0 128 64
dma-kmalloc-64 0 0 64 64
dma-kmalloc-32 0 0 32 128
dma-kmalloc-16 0 0 16 256
dma-kmalloc-8 0 0 8 512
dma-kmalloc-192 0 0 192 42
dma-kmalloc-96 0 0 96 42
kmalloc-8192 40 44 8192 4
kmalloc-4096 273 304 4096 8
kmalloc-2048 8378 8448 2048 16
kmalloc-1024 3441 3520 1024 32
kmalloc-512 11200 11200 512 64
Cache Num Total Size Pages
kmalloc-256 12361 12736 256 64
kmalloc-192 14641 14910 192 42
kmalloc-128 2176 2176 128 64
kmalloc-96 9030 9030 96 42
kmalloc-64 18910 19328 64 64
kmalloc-32 7680 7680 32 128
kmalloc-16 13056 13056 16 256
kmalloc-8 9728 9728 8 512
kmem_cache_node 192 192 64 64
kmem_cache 192 192 256 64
6.7 實時顯示核心slab核心快取資訊
slabtop:
slabtop –delay=n, -d n 每隔n秒重新整理資訊
slabtop –sort=S, -s S 按照S排序,其中S為排序標準
–once, -o 顯示一次並退出
Active / Total Objects (% used) : 460418 / 463071 (99.4%)
Active / Total Slabs (% used) : 9555 / 9555 (100.0%)
Active / Total Caches (% used) : 69 / 98 (70.4%)
Active / Total Size (% used) : 105917.41K / 106927.14K (99.1%)
Minimum / Average / Maximum Object : 0.01K / 0.23K / 14.09K
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
151032 151032 100% 0.19K 3596 42 28768K dentry
58734 58734 100% 0.10K 1506 39 6024K buffer_head
48620 48620 100% 0.12K 715 68 5720K kernfs_node_cache
26826 26826 100% 0.04K 263 102 1052K selinux_inode_security
22495 22386 99% 0.58K 409 55 13088K inode_cache
19392 18829 97% 0.06K 303 64 1212K kmalloc-64
15456 14701 95% 0.19K 368 42 2944K kmalloc-192
13504 13168 97% 0.25K 211 64 3376K kmalloc-256
13056 13056 100% 0.02K 51 256 204K kmalloc-16
11328 11266 99% 0.50K 177 64 5664K kmalloc-512
10472 10472 100% 0.07K 187 56 748K avc_node
9728 9728 100% 0.01K 19 512 76K kmalloc-8
9618 9618 100% 0.09K 229 42 916K kmalloc-96
8576 8492 99% 2.00K 536 16 17152K kmalloc-2048
7680 7680 100% 0.03K 60 128 240K kmalloc-32
5217 5217 100% 0.21K 141 37 1128K vm_area_struct
3528 3528 100% 0.57K 63 56 2016K radix_tree_node
7- iostat
用於輸出CPU和磁碟I/O相關的統計資訊
用法: iostat [ 選項 ] [ <時間間隔> [ <次數> ]]
-c:只顯示系統CPU統計資訊,即單獨輸出avg-cpu結果,不包括device結果
-d:單獨輸出Device結果,不包括cpu結果
-k/-m:輸出結果以kB/mB為單位,而不是以扇區數為單位
-x:輸出更詳細的io裝置統計資訊
interval/count:每次輸出間隔時間,count表示輸出次數,不帶count表示迴圈輸出
7.1- 從系統開機到當前執行時刻的統計資訊
[root@openshift ~]# iostat
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.15 0.00 0.27 0.01 0.00 99.57
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.82 50.75 40.24 336018 266438
dm-0 1.57 45.94 39.93 304202 264349
dm-1 0.01 0.33 0.00 2204 0
avg-cpu: 總體cpu使用情況統計資訊,對於多核cpu,這裡為所有cpu的平均值。重點關注iowait值,表示CPU用於等待io請求的完成時間。
Device: 各磁碟裝置的IO統計資訊。各列含義如下:
Device: 以sdX形式顯示的裝置名稱 tps: 每秒程序下發的IO讀、寫請求數量 KB_read/s: 每秒從驅動器讀入的資料量,單位為K。 KB_wrtn/s: 每秒從驅動器寫入的資料量,單位為K。 KB_read: 讀入資料總量,單位為K。 KB_wrtn: 寫入資料總量,單位為K。
7.2- 檢視裝置使用率(%util)、響應時間(await)
每隔1S輸出磁碟IO的詳細詳細,總共取樣2次
[root@openshift ~]# iostat -x -k -d 1 2
##引數 -d 表示,顯示裝置(磁碟)使用狀態;-k某些使用block為單位的列強制使用Kilobytes為單位
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.06 1.34 0.46 50.07 39.71 99.73 0.00 1.40 0.59 3.73 0.43 0.08
dm-0 0.00 0.00 1.02 0.53 45.33 39.40 109.49 0.00 1.65 0.70 3.49 0.47 0.07
dm-1 0.00 0.00 0.01 0.00 0.33 0.00 50.09 0.00 0.22 0.22 0.00 0.10 0.00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
rrqm/s: 每秒對該裝置的讀請求被合併次數,檔案系統會對讀取同塊(block)的請求進行合併
wrqm/s: 每秒對該裝置的寫請求被合併次數
r/s: 每秒完成的讀次數
w/s: 每秒完成的寫次數
rkB/s: 每秒讀資料量(kB為單位)
wkB/s: 每秒寫資料量(kB為單位)
avgrq-sz:平均每次IO操作的資料量(扇區數為單位)
avgqu-sz: 平均等待處理的IO請求佇列長度
await: 平均每次IO請求等待時間(包括等待時間和處理時間,毫秒為單位)
svctm: 平均每次IO請求的處理時間(毫秒為單位)
%util: 採用週期內用於IO操作的時間比率,即IO佇列非空的時間比率
重點關注引數:
1、iowait% 表示CPU等待IO時間佔整個CPU週期的百分比,如果iowait值超過50%,或者明顯大於%system、%user以及%idle,表示IO可能存在問題。
2、avgqu-sz 表示磁碟IO佇列長度,即IO等待個數。
3、await 表示每次IO請求等待時間,包括等待時間和處理時間
4、svctm 表示每次IO請求處理的時間
5、%util 表示磁碟忙碌情況,一般該值超過80%表示該磁碟可能處於繁忙狀態。
7.3- 檢視TPS和吞吐量資訊
[root@openshift ~]# iostat -d -k 1 2
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.76 48.67 38.66 336018 266881
dm-0 1.51 44.06 38.35 304202 264792
dm-1 0.01 0.32 0.00 2204 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
tps:該裝置每秒的傳輸次數(Indicate the number of transfers per second that were issued to the device.)。“一次傳輸”意思是“一次I/O請求”。多個邏輯請求可能會被合併為“一次I/O請求”。“一次傳輸”請求的大小是未知的。
kB_read/s:每秒從裝置(drive expressed)讀取的資料量;kB_wrtn/s:每秒向裝置(drive expressed)寫入的資料量;kB_read:讀取的總資料量;kB_wrtn:寫入的總數量資料量;這些單位都為Kilobytes。
7.4- 獲取CPU狀態值
[root@openshift ~]# iostat -c 1 2
Linux 3.10.0-1062.el7.x86_64 (openshift) 10/12/2020 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.14 0.00 0.26 0.01 0.00 99.59
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00