這些命令提供了寶貴的系統(tǒng)性能統(tǒng)計(jì)數(shù)據(jù),有助于分析資源利用率、識(shí)別瓶頸和優(yōu)化效率。
1. vmstat – 報(bào)告虛擬內(nèi)存統(tǒng)計(jì)數(shù)據(jù)
vmstat 命令可打印有關(guān)內(nèi)存、交換、I/O 和 CPU 活動(dòng)的詳細(xì)報(bào)告。其中包括已用/可用內(nèi)存、交換入/出、磁盤(pán)塊讀/寫(xiě)和 CPU 進(jìn)程/閑置時(shí)間等指標(biāo)。
例子:
vmstat 5
其他有用的 vmstat 選項(xiàng):
- -a – 顯示活動(dòng)和非活動(dòng)內(nèi)存
- -s – 顯示事件計(jì)數(shù)器和內(nèi)存統(tǒng)計(jì)信息
- -S – 以 KB 而不是塊為單位輸出
- 5 – 每 5 秒刷新一次輸出。
上面的示例每 5 秒輸出一次內(nèi)存和 CPU 數(shù)據(jù),直到中斷為止,這對(duì)監(jiān)控實(shí)時(shí)系統(tǒng)性能非常有用。
[root@xx web]# vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 115732 0 952956 0 0 0 2 2 4 0 0 99 0 0
每一列代表的意思:
procs: 進(jìn)程統(tǒng)計(jì)信息
- r: 運(yùn)行隊(duì)列中正在運(yùn)行的進(jìn)程數(shù)
- b: 等待運(yùn)行的進(jìn)程數(shù)
memory: 內(nèi)存統(tǒng)計(jì)信息
- swpd: 使用的交換空間大小(單位為KB)
- free: 空閑內(nèi)存大?。▎挝粸镵B)
- buff: 用于緩沖的內(nèi)存大?。▎挝粸镵B)
- cache: 用于緩存的內(nèi)存大?。▎挝粸镵B)
swap: 交換空間統(tǒng)計(jì)信息
- si: 從磁盤(pán)讀取到交換空間的數(shù)據(jù)大小(單位為KB/s)
- so: 從交換空間寫(xiě)入到磁盤(pán)的數(shù)據(jù)大?。▎挝粸镵B/s)
io: I/O 統(tǒng)計(jì)信息
- bi: 塊設(shè)備接收的塊數(shù)(單位為塊/s)
- bo: 塊設(shè)備發(fā)送的塊數(shù)(單位為塊/s)
system: 系統(tǒng)統(tǒng)計(jì)信息
- in: 每秒中斷的數(shù)量
- cs: 每秒上下文切換的數(shù)量
cpu: CPU 統(tǒng)計(jì)信息
- us: 用戶進(jìn)程使用 CPU 的時(shí)間百分比
- sy: 系統(tǒng)進(jìn)程使用 CPU 的時(shí)間百分比
- id: CPU 處于空閑狀態(tài)的時(shí)間百分比
- wa: CPU 正在等待 I/O 完成的時(shí)間百分比
- st: 被虛擬化環(huán)境(例如虛擬機(jī))偷取的時(shí)間百分比
2. iostat – 報(bào)告 CPU 和 I/O 統(tǒng)計(jì)數(shù)據(jù)
iostat 命令監(jiān)控并顯示 CPU 利用率和磁盤(pán) I/O 指標(biāo)。其中包括 CPU 負(fù)載、IOPS、讀/寫(xiě)吞吐量等。
一些 iostat 選項(xiàng):
- c – 顯示 CPU 使用率信息
- t – 為每份報(bào)告打印時(shí)間戳
- x – 顯示服務(wù)時(shí)間和等待計(jì)數(shù)等擴(kuò)展統(tǒng)計(jì)信息
- d – 顯示每個(gè)磁盤(pán)/分區(qū)的詳細(xì)統(tǒng)計(jì)信息,而不是合計(jì)總數(shù)
- p – 顯示特定磁盤(pán)設(shè)備的統(tǒng)計(jì)信息
下面每 5 秒鐘顯示一次 sda 每個(gè)設(shè)備的詳細(xì) I/O 統(tǒng)計(jì)信息。
iostat -d -p sda 5
iostat 可幫助分析磁盤(pán)子系統(tǒng)的性能,找出硬件瓶頸。
[root@xx web]# iostat
Linux 4.19.188-10.el7.ucloud.x86_64 (10-50-90-250) 01/11/2024 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.41 0.00 0.36 0.00 0.00 99.23
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.45 0.10 4.60 433948 19644449
每一列參數(shù)代表的意思:
avg-cpu:這一行統(tǒng)計(jì)了 CPU 使用情況的平均值。
- %user:用戶態(tài)進(jìn)程使用 CPU 的百分比。
- %nice:以較高優(yōu)先級(jí)運(yùn)行的用戶態(tài)進(jìn)程使用 CPU 的百分比(優(yōu)先級(jí)較低的用戶態(tài)進(jìn)程)。
- %system:內(nèi)核進(jìn)程使用 CPU 的百分比。
- %iowait:CPU 等待 I/O 完成的百分比。
- %steal:當(dāng) hypervisor(虛擬化環(huán)境中的宿主機(jī))需要讓出 CPU 給其他虛擬機(jī)時(shí),該 CPU 被偷取的百分比。
- %idle:CPU 空閑時(shí)間的百分比。
Device:這一行顯示了每個(gè)磁盤(pán)設(shè)備的統(tǒng)計(jì)數(shù)據(jù)。
- tps:每秒傳輸?shù)?I/O 請(qǐng)求數(shù)。這個(gè)值反映了磁盤(pán)設(shè)備的工作負(fù)載。
- kB_read/s:每秒從設(shè)備讀取的數(shù)據(jù)量,以千字節(jié) (KB) 為單位。
- kB_wrtn/s:每秒寫(xiě)入設(shè)備的數(shù)據(jù)量,以千字節(jié) (KB) 為單位。
- kB_read:從設(shè)備讀取的總數(shù)據(jù)量,以千字節(jié) (KB) 為單位。
- kB_wrtn:寫(xiě)入設(shè)備的總數(shù)據(jù)量,以千字節(jié) (KB) 為單位。
3. free – 顯示可用和已用內(nèi)存量
free 命令顯示系統(tǒng)中物理內(nèi)存和交換內(nèi)存的總量、已用量和空閑量。這將提供可用內(nèi)存的總體情況。
例子:
free -h
free 命令的一些選項(xiàng):
- b – 以字節(jié)為單位顯示輸出
- k – 以 KB(而非默認(rèn)字節(jié))為單位顯示輸出結(jié)果
- m – 以 MB 為單位顯示輸出,而不是以字節(jié)為單位
- h – 以 GB、MB 等人類可讀格式打印統(tǒng)計(jì)數(shù)據(jù),而不是字節(jié)。
以人類可讀格式(GB、MB 等)打印內(nèi)存統(tǒng)計(jì)數(shù)據(jù)。當(dāng)你想快速了解內(nèi)存容量時(shí),它非常有用。
4. df – 報(bào)告文件系統(tǒng)磁盤(pán)空間使用情況
df 命令顯示文件系統(tǒng)的磁盤(pán)空間使用情況。它會(huì)顯示文件系統(tǒng)名稱、總/已用/可用空間和容量。
常用的參數(shù)選項(xiàng):
- -h :以人類可讀的格式顯示磁盤(pán)使用情況,以 K、M、G 等單位表示文件系統(tǒng)的大小和可用空間。
- -T :顯示文件系統(tǒng)類型。
- -i :顯示 inode 的使用情況而不是磁盤(pán)空間。
- -a :顯示所有文件系統(tǒng),包括系統(tǒng)特有的文件系統(tǒng)。
- -x type :排除指定類型的文件系統(tǒng)。例如,-x tmpfs 將排除 tmpfs 類型的文件系統(tǒng)。
- -hT :同時(shí)使用 -h 和 -T 參數(shù),以人類可讀的格式顯示文件系統(tǒng)以及各個(gè)文件系統(tǒng)類型。
- –total :在最后一行顯示所有文件系統(tǒng)的總空間和已使用空間。
- –help :顯示 df 命令的幫助信息,包括所有可用的參數(shù)選項(xiàng)和用法示例。
例子:
df -h
上述命令將以人類可讀的格式打印磁盤(pán)利用率。也可以不帶參數(shù)運(yùn)行該命令,以塊大小獲得相同的數(shù)據(jù)。
[root@xx web]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
devtmpfs devtmpfs 891628 0 891628 0% /dev
tmpfs tmpfs 904464 0 904464 0% /dev/shm
tmpfs tmpfs 904464 107052 797412 12% /run
tmpfs tmpfs 904464 0 904464 0% /sys/fs/cgroup
/dev/vda1 xfs 62903276 4308344 58594932 7% /
tmpfs tmpfs 180896 0 180896 0% /run/user/0
各列的含義:
- Filesystem:文件系統(tǒng)的名稱或掛載點(diǎn)名稱。
- Type:文件系統(tǒng)的類型。
- 1K-blocks:文件系統(tǒng)的總塊數(shù)(以千字節(jié)為單位)。
- Used:已使用的塊數(shù)(以千字節(jié)為單位)。
- Available:可用的塊數(shù)(以千字節(jié)為單位)。
- Use%:已使用空間占總空間的百分比。
- Mounted on:文件系統(tǒng)的掛載點(diǎn)。
5. sar – 收集和報(bào)告系統(tǒng)活動(dòng)
sar 工具收集并記錄一段時(shí)間內(nèi) CPU、內(nèi)存、I/O、網(wǎng)絡(luò)等系統(tǒng)活動(dòng)信息。通過(guò)分析這些數(shù)據(jù),可以發(fā)現(xiàn)性能問(wèn)題。
語(yǔ)法:
sar [options] [interval [count]]
其中,[options] 是可選的命令選項(xiàng),[interval] 是數(shù)據(jù)收集的時(shí)間間隔(以秒為單位),[count] 是指定收集的次數(shù)。
一些常用的 sar 參數(shù)選項(xiàng)和示例:
-
-u:顯示 CPU 使用率統(tǒng)計(jì)數(shù)據(jù)。
示例:sar -u -
-r:顯示內(nèi)存使用情況統(tǒng)計(jì)數(shù)據(jù)。
示例:sar -r -
-b:顯示磁盤(pán) I/O 統(tǒng)計(jì)數(shù)據(jù)。
示例:sar -b -
-n DEV:顯示網(wǎng)絡(luò)接口的統(tǒng)計(jì)數(shù)據(jù),其中 DEV 是網(wǎng)絡(luò)接口的名稱,如 eth0。
示例:sar -n DEV -
-q:顯示運(yùn)行隊(duì)列和負(fù)載平均值的統(tǒng)計(jì)數(shù)據(jù)。
示例:sar -q -
-A:顯示所有可用的統(tǒng)計(jì)數(shù)據(jù)。
示例:sar -A -
-s HH:MM:SS:從指定的起始時(shí)間開(kāi)始顯示統(tǒng)計(jì)數(shù)據(jù)。
示例:sar -s 10:00:00 -
-e HH:MM:SS:顯示到指定的結(jié)束時(shí)間的統(tǒng)計(jì)數(shù)據(jù)。
示例:sar -e 12:00:00 -
-f FILE:指定 sar 數(shù)據(jù)文件的路徑,用于讀取預(yù)先記錄的數(shù)據(jù)。在 Linux 系統(tǒng)上,默認(rèn)情況下,sar 數(shù)據(jù)文件存儲(chǔ)在 /var/log/sa/ 目錄下,文件名以 sa 開(kāi)頭,后面跟著日期的數(shù)字表示,如 sa01、sa02 等。每個(gè)數(shù)據(jù)文件包含了特定日期的系統(tǒng)活動(dòng)報(bào)告數(shù)據(jù)。
示例:sar -f /var/log/sa/sa01 -
-o OUTPUT_FILE:將統(tǒng)計(jì)數(shù)據(jù)寫(xiě)入指定的輸出文件中,以便后續(xù)使用。
示例:sar -o output.txt
例子:
sar -u 5 60
每 5 秒采樣一次 CPU 使用情況,持續(xù) 60 次。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-783579.html
sar 提供了實(shí)時(shí)工具無(wú)法提供的詳細(xì)歷史系統(tǒng)性能數(shù)據(jù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-783579.html
到了這里,關(guān)于5個(gè)Linux性能監(jiān)控命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!