您好,登錄后才能下訂單哦!
本篇內容介紹了“Linux系統中sar命令的用法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1、命令格式
sar (選項)(參數)
2、選項參數
-A:顯示所有的報告信息;
-b:顯示I/O速率;
-B:顯示換頁狀態;
-c:顯示進程創建活動;
-d:顯示每個塊設備的狀態;
-e:設置顯示報告的結束時間;
-f:從指定文件提取報告;
-i:設狀態信息刷新的間隔時間;
-P:報告每個CPU的狀態;
-R:顯示內存狀態;
-u:顯示CPU利用率;
-v:顯示索引節點,文件和其他內核表的狀態;
-w:顯示交換分區狀態;
-x:顯示給定進程的狀態。
3、使用示例
示例一: CPU資源監控
每5秒采樣一次,連續采樣2次,觀察CPU 的使用情況,并將采樣結果以二進制形式存入當前目錄下的文件cpu.bin中
[root@wjq ~]# sar -u 5 2 -o cpu.bin
Linux 3.10.0-514.el7.x86_64 (wjq.comsys.com)
10/30/2017 _x86_64_ (1 CPU)
11:23:55 AM CPU %user
%nice %system %iowait
%steal %idle
11:24:00 AM all 0.61
0.00 0.61 0.00
0.00 98.78
11:24:05 AM all 0.41
0.00 0.41 0.20
0.00 98.98
Average: all 0.51
0.00 0.51 0.10
0.00 98.88
[root@ wjq ~]# ll
cpu.bin
-rw-r--r-- 1 root root 27556 Oct 30 11:24 cpu.bin
--查看二進制文件cpu.bin中的內容,使用如下的命令
[root@wjq ~]# sar -u -f cpu.bin
Linux 3.10.0-514.el7.x86_64 (wjq.comsys.com)
10/30/2017 _x86_64_ (1 CPU)
11:23:55 AM CPU %user
%nice %system %iowait
%steal %idle
11:24:00 AM all 0.61
0.00 0.61 0.00
0.00 98.78
11:24:05 AM all 0.41
0.00 0.41 0.20
0.00 98.98
Average: all 0.51
0.00 0.51 0.10
0.00 98.88
說明:
CPU:all 表示統計信息為所有 CPU 的平均值。
%user:顯示在用戶級別(application)運行使用 CPU 總時間的百分比。
%nice:顯示在用戶級別,用于nice操作,所占用 CPU 總時間的百分比。
%system:在核心級別(kernel)運行所使用 CPU 總時間的百分比。
%iowait:顯示用于等待I/O操作占用 CPU 總時間的百分比。
%steal:管理程序(hypervisor)為另一個虛擬進程提供服務而等待虛擬 CPU 的百分比。
%idle:顯示 CPU 空閑時間占用 CPU 總時間的百分比。
備注:
1. 若 %iowait 的值過高,表示硬盤存在I/O瓶頸
2. 若 %idle 的值高但系統響應慢時,有可能是 CPU 等待分配內存,此時應加大內存容量
3. 若 %idle 的值持續低于1,則系統的 CPU 處理能力相對較低,表明系統中最需要解決的資源是 CPU 。
示例二: inode、文件和其他內核表監控
每10秒采樣一次,連續采樣3次,觀察核心表的狀態
[root@wjq bin]# sar -v 5 3
Linux 3.10.0-514.el7.x86_64 (wjq.comsys.com)
10/30/2017 _x86_64_ (1 CPU)
11:22:57 AM dentunusd file-nr inode-nr
pty-nr
11:23:02 AM 66756 7424
63501 2
11:23:07 AM 66750 7232
63489 2
11:23:12 AM 66749 7200
63488 2
Average: 66752 7285
63493 2
說明:
dentunusd:目錄高速緩存中未被使用的條目數量
file-nr:文件句柄(file handle)的使用數量
inode-nr:索引節點句柄(inode handle)的使用數量
pty-nr:使用的pty數量
示例三:內存和交換空間監控
每5秒采樣一次,連續采樣3次,監控內存分頁
[root@wjq bin]# sar -r 5 3
Linux 3.10.0-514.el7.x86_64 (wjq.comsys.com)
10/30/2017 _x86_64_ (1 CPU)
11:21:47 AM kbmemfree kbmemused %memused
kbbuffers kbcached kbcommit
%commit kbactive kbinact
kbdirty
11:21:52 AM 653656 2415236
78.70 0 1632600
3353300 53.96 1216508
893016 0
11:21:57 AM 653656 2415236
78.70 0 1632600
3353300 53.96 1216516
893016 0
11:22:02 AM 659516 2409376
78.51 0 1632584
3338224 53.72 1211496
892996 0
Average: 655609 2413283 78.64 0
1632595 3348275 53.88
1214840 893009 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)的一個百分比.
Kbactive:活動內存量(以千字節計算)(最近使用的內存,通常不會被收回,除非絕對必要)
kbinact:不活動內存量(以千字節計算的內存(最近使用的內存),更有資格被用于其他目的)。
kbdirty:以KB為單位的內存量等待寫入磁盤
示例四:內存分頁監控
每5秒采樣一次,連續采樣3次,查看內存分頁的使用情況
[root@wjq ~]# sar -B 5 3
Linux 3.10.0-514.el7.x86_64 (wjq.comsys.com) 10/30/2017 _x86_64_ (1 CPU)
11:35:00 AM pgpgin/s pgpgout/s fault/s
majflt/s pgfree/s pgscank/s
pgscand/s pgsteal/s %vmeff
11:35:05 AM 1.64 18.85
93.44 0.00 352.05
0.00 0.00 0.00
0.00
11:35:10 AM 0.00 6.53
7.35 0.00 9.18
0.00 0.00 0.00
0.00
11:35:15 AM 0.00 13.65
4.48 0.00 7.94
0.00 0.00 0.00
0.00
Average: 0.54 13.00
34.99 0.00 122.67
0.00 0.00 0.00
0.00
說明:
pgpgin/s:表示每秒從磁盤或SWAP置換到內存的字節數(KB)
pgpgout/s:表示每秒從內存置換到磁盤或SWAP的字節數(KB)
fault/s:每秒鐘系統產生的缺頁數,即主缺頁與次缺頁之和(major + minor)
majflt/s:每秒鐘產生的主缺頁數.
pgfree/s:每秒被放入空閑隊列中的頁個數
pgscank/s:每秒被kswapd掃描的頁個數
pgscand/s:每秒直接被掃描的頁個數
pgsteal/s:每秒鐘從cache中被清除來滿足內存需要的頁個數
%vmeff:每秒清除的頁(pgsteal)占總掃描頁(pgscank+pgscand)的百分比
示例五:I/O和傳送速率監控
每5秒采樣一次,連續采樣3次,報告緩沖區的使用情況
[root@wjq ~]# sar -b 5 3
Linux 3.10.0-514.el7.x86_64 (wjq.comsys.com)
10/30/2017 _x86_64_ (1 CPU)
11:38:16 AM tps rtps
wtps bread/s bwrtn/s
11:38:21 AM 0.41
0.00 0.41 0.00
13.06
11:38:26 AM 0.82 0.00
0.82 0.00 26.23
11:38:31 AM 0.82 0.00
0.82 0.00 26.18
Average: 0.68 0.00
0.68 0.00 21.81
說明:
tps:每秒鐘物理設備的 I/O 傳輸總量
rtps:每秒鐘從物理設備讀入的數據總量
wtps:每秒鐘向物理設備寫入的數據總量
bread/s:每秒鐘從物理設備讀入的數據量,單位為 塊/s
bwrtn/s:每秒鐘向物理設備寫入的數據量,單位為 塊/s
示例六:進程隊列長度和平均負載狀態監控
每5秒采樣一次,連續采樣3次,監控進程隊列長度和平均負載狀態
[root@wjq ~]# sar -q 5 3
Linux 3.10.0-514.el7.x86_64 (wjq.comsys.com) 10/30/2017 _x86_64_ (1 CPU)
11:39:52 AM runq-sz plist-sz
ldavg-1 ldavg-5 ldavg-15
blocked
11:39:57 AM 0 328
0.04 0.03 0.05 0
11:40:02 AM 0 328
0.04 0.03 0.05 0
11:40:07 AM 0 326
0.03 0.03 0.05 0
Average: 0 327
0.04 0.03 0.05 0
說明:
runq-sz:運行隊列的長度(等待運行的進程數)
plist-sz:進程列表中進程(processes)和線程(threads)的數量
ldavg-1:最后1分鐘的系統平均負載(System load average)
ldavg-5:過去5分鐘的系統平均負載
ldavg-15:過去15分鐘的系統平均負載
blocked:當前阻塞的任務數,等待I / O完成
示例七:系統交換活動信息監控
每5秒采樣一次,連續采樣3次,監控系統交換活動信息
[root@wjq ~]# sar -W 5 3
Linux 3.10.0-514.el7.x86_64 (wjq.comsys.com) 10/30/2017 _x86_64_ (1 CPU)
11:43:17 AM pswpin/s pswpout/s
11:43:22 AM 0.00 0.00
11:43:27 AM 0.00 0.00
11:43:32 AM 0.00 0.00
Average: 0.00 0.00
說明:
pswpin/s:每秒系統換入的交換頁面(swap page)數量
pswpout/s:每秒系統換出的交換頁面(swap page)數量
示例八:設備使用情況監控
每5秒采樣一次,連續采樣3次,報告設備使用情況
[root@wjq ~]# sar -d 5 3
Linux 3.10.0-514.el7.x86_64 (wjq.comsys.com)
10/30/2017 _x86_64_ (1 CPU)
11:44:43 AM DEV tps
rd_sec/s wr_sec/s avgrq-sz
avgqu-sz await svctm
%util
11:44:48 AM dev11-0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:44:48 AM dev8-0 0.82
0.00 26.18 32.00
0.00 0.00 0.00
0.00
11:44:48 AM dev253-0 0.82
0.00 26.18 32.00
0.00 0.00 0.00
0.00
11:44:48 AM dev253-1 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:44:48 AM dev253-2 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:44:48 AM DEV tps
rd_sec/s wr_sec/s avgrq-sz
avgqu-sz await svctm
%util
11:44:53 AM dev11-0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:44:53 AM dev8-0 0.81
0.00 26.07 32.00
0.00 0.50 0.50
0.04
11:44:53 AM dev253-0 0.81
0.00 26.07 32.00
0.00 0.50 0.50
0.04
11:44:53 AM dev253-1 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:44:53 AM dev253-2 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:44:53 AM DEV tps
rd_sec/s wr_sec/s avgrq-sz
avgqu-sz await svctm
%util
11:44:58 AM dev11-0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:44:58 AM dev8-0 0.41
0.00 13.03 32.00
0.00 0.50 0.50
0.02
11:44:58 AM dev253-0 0.41
0.00 13.03 32.00
0.00 0.50 0.50
0.02
11:44:58 AM dev253-1 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:44:58 AM dev253-2 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: dev11-0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
Average: dev8-0 0.68
0.00 21.75 32.00
0.00 0.30 0.30
0.02
Average: dev253-0 0.68
0.00 21.75 32.00
0.00 0.30 0.30
0.02
Average: dev253-1 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
Average: dev253-2 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
[root@wjq ~]# sar -d 5 3 -p
Linux 3.10.0-514.el7.x86_64 (wjq.comsys.com)
10/30/2017 _x86_64_ (1 CPU)
11:45:06 AM DEV tps
rd_sec/s wr_sec/s avgrq-sz
avgqu-sz await svctm
%util
11:45:11 AM sr0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:45:11 AM sda 0.81
0.00 26.07 32.00
0.00 0.50 0.50
0.04
11:45:11 AM cl-root 0.81
0.00 26.07 32.00
0.00 0.50 0.50
0.04
11:45:11 AM cl-swap 0.00
0.00 0.00
0.00 0.00 0.00
0.00 0.00
11:45:11 AM cl-home 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:45:11 AM DEV tps
rd_sec/s wr_sec/s avgrq-sz
avgqu-sz await svctm
%util
11:45:16 AM sr0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:45:16 AM sda 0.61
0.00 14.49 23.67
0.00 0.33 0.33
0.02
11:45:16 AM cl-root 0.61
0.00 14.49
23.67 0.00 0.33
0.33 0.02
11:45:16 AM cl-swap 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:45:16 AM cl-home 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:45:16 AM DEV tps
rd_sec/s wr_sec/s avgrq-sz
avgqu-sz await svctm
%util
11:45:21 AM sr0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:45:21 AM sda 0.81
0.00 26.02 32.00
0.00 0.25 0.25
0.02
11:45:21 AM cl-root 0.81
0.00 26.02 32.00
0.00 0.25 0.25
0.02
11:45:21 AM cl-swap 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
11:45:21 AM cl-home 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: sr0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
Average: sda 0.75
0.00 22.20 29.73
0.00 0.36 0.36
0.03
Average: cl-root 0.75
0.00 22.20 29.73
0.00 0.36 0.36
0.03
Average: cl-swap 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
Average: cl-home 0.00
0.00 0.00 0.00
0.00 0.00 0.00
0.00
說明:
參數-p可以打印出sda,hdc等磁盤設備名稱,如果不用參數-p,設備節點則有可能是dev8-0,dev22-0
tps:每秒從物理磁盤I/O的次數.多個邏輯請求會被合并為一個I/O磁盤請求,一次傳輸的大小是不確定的.
rd_sec/s:每秒讀扇區的次數.
wr_sec/s:每秒寫扇區的次數.
avgrq-sz:平均每次設備I/O操作的數據大小(扇區).
avgqu-sz:磁盤請求隊列的平均長度.
await:從請求磁盤操作到系統完成處理,每次請求的平均消耗時間,包括請求隊列等待時間,單位是毫秒(1秒=1000毫秒).
svctm:系統處理每次請求的平均時間,不包括在請求隊列中消耗的時間.
%util:I/O請求占CPU的百分比,比率越大,說明越飽和.
注意:
1. avgqu-sz 的值較低時,設備的利用率較高。
2. 當%util的值接近 1% 時,表示設備帶寬已經占滿。
示例九:網絡接口的統計信息
每5秒采樣一次,連續采樣3次,報告設備使用情況
[root@wjq
~]# sar 5 3 -n
DEV
Linux 3.10.0-514.el7.x86_64 (wjq.comsys.com)
10/30/2017 _x86_64_ (1 CPU)
12:07:51 PM IFACE rxpck/s
txpck/s rxkB/s txkB/s
rxcmp/s txcmp/s rxmcst/s
12:07:56 PM lo 0.82
0.82 0.05 0.05
0.00 0.00
0.00
12:07:56 PM virbr0-nic 0.00 0.00
0.00 0.00 0.00
0.00 0.00
12:07:56 PM virbr0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
12:07:56 PM ens160 0.41
0.20 0.06 0.04
0.00 0.00 0.00
12:07:56 PM IFACE rxpck/s
txpck/s rxkB/s txkB/s
rxcmp/s txcmp/s rxmcst/s
12:08:01 PM lo 0.82
0.82 0.05 0.05
0.00 0.00 0.00
12:08:01 PM virbr0-nic 0.00 0.00
0.00 0.00 0.00
0.00 0.00
12:08:01 PM virbr0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
12:08:01 PM ens160 7.17
0.20 0.63 0.12
0.00 0.00 0.00
12:08:01 PM IFACE rxpck/s
txpck/s rxkB/s txkB/s
rxcmp/s txcmp/s rxmcst/s
12:08:06 PM lo 1.43
1.43 0.26 0.26
0.00 0.00 0.00
12:08:06 PM virbr0-nic 0.00 0.00
0.00 0.00 0.00
0.00 0.00
12:08:06 PM virbr0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
12:08:06 PM ens160 0.82
0.20 0.07 0.12
0.00 0.00 0.00
Average: IFACE rxpck/s
txpck/s rxkB/s txkB/s
rxcmp/s txcmp/s rxmcst/s
Average: lo 1.02
1.02 0.12 0.12
0.00 0.00 0.00
Average: virbr0-nic 0.00
0.00 0.00 0.00
0.00 0.00 0.00
Average: virbr0 0.00
0.00 0.00 0.00
0.00 0.00 0.00
Average: ens160 2.79
0.20 0.25 0.10
0.00 0.00 0.00
說明:
Possible keywords are DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6,EIP6, ICMP6, EICMP6 and UDP6
IFACE:報告統計信息的網絡接口的名稱
rxpck/s:每秒接收的數據包總數
txpck/s:每秒傳輸的報文總數
rxkB/s:每秒接收的千字節總數
txkB/s:每秒傳輸的總千字節數
rxcmp/s:每秒接收的壓縮數據包數
txcmp/s:每秒傳輸的壓縮包數
rxmcst/s:每秒接收的組播數據包數
4、運維拓展:
要判斷系統瓶頸問題,有時需幾個 sar 命令選項結合起來
(1)懷疑CPU存在瓶頸,可用 sar -u 和 sar -q 等來查看
(2)懷疑內存存在瓶頸,可用 sar -B、sar -r 和 sar -W 等來查看
(3)懷疑I/O存在瓶頸,可用 sar -b、sar -u 和 sar -d 等來查看
“Linux系統中sar命令的用法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。