5個Linux性能監控命令
1. vmstat – 報告虛擬內存統計數據
vmstat 命令可打印有關內存、交換、I/O 和CPU活動的詳細報告。其中包括已用/可用內存、交換入/出、磁盤塊讀/寫和 CPU 進程/閑置時間等指標。
例子:
vmstat 5
其他有用的 vmstat 選項:
? -a – 顯示活動和非活動內存
? -s – 顯示事件計數器和內存統計信息
? -S – 以 KB 而不是塊為單位輸出
? 5 – 每 5 秒刷新一次輸出。
上面的示例每 5 秒輸出一次內存和 CPU 數據,直到中斷為止,這對監控實時系統性能非常有用。
[root@xx web]# vmstat 5 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us syidwa st 0 0 0 115732 0 952956 0 0 0 2 2 4 0 0 99 0 0
每一列代表的意思:
procs: 進程統計信息
? r: 運行隊列中正在運行的進程數
? b: 等待運行的進程數
memory: 內存統計信息
? swpd: 使用的交換空間大小(單位為KB)
? free: 空閑內存大小(單位為KB)
? buff: 用于緩沖的內存大小(單位為KB)
? cache: 用于緩存的內存大小(單位為KB)
swap: 交換空間統計信息
? si: 從磁盤讀取到交換空間的數據大小(單位為KB/s)
? so: 從交換空間寫入到磁盤的數據大小(單位為KB/s)
io: I/O 統計信息
? bi: 塊設備接收的塊數(單位為塊/s)
? bo: 塊設備發送的塊數(單位為塊/s)
system: 系統統計信息
? in: 每秒中斷的數量
? cs: 每秒上下文切換的數量
cpu: CPU 統計信息
? us: 用戶進程使用 CPU 的時間百分比
? sy: 系統進程使用 CPU 的時間百分比
? id: CPU 處于空閑狀態的時間百分比
? wa: CPU 正在等待 I/O 完成的時間百分比
? st: 被虛擬化環境(例如虛擬機)偷取的時間百分比
2. iostat – 報告 CPU 和 I/O 統計數據
iostat 命令監控并顯示 CPU 利用率和磁盤 I/O 指標。其中包括 CPU 負載、IOPS、讀/寫吞吐量等。
一些 iostat 選項:
? c – 顯示 CPU 使用率信息
? t – 為每份報告打印時間戳
? x – 顯示服務時間和等待計數等擴展統計信息
? d – 顯示每個磁盤/分區的詳細統計信息,而不是合計總數
? p – 顯示特定磁盤設備的統計信息
下面每 5 秒鐘顯示一次 sda 每個設備的詳細 I/O 統計信息。
iostat -d -p sda 5
iostat 可幫助分析磁盤子系統的性能,找出硬件瓶頸。
[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
每一列參數代表的意思:
avg-cpu:這一行統計了 CPU 使用情況的平均值。
? %user:用戶態進程使用 CPU 的百分比。
? %nice:以較高優先級運行的用戶態進程使用 CPU 的百分比(優先級較低的用戶態進程)。
? %system:內核進程使用 CPU 的百分比。
? %iowait:CPU 等待 I/O 完成的百分比。
? %steal:當 hypervisor(虛擬化環境中的宿主機)需要讓出 CPU 給其他虛擬機時,該 CPU 被偷取的百分比。
? %idle:CPU 空閑時間的百分比。
Device:這一行顯示了每個磁盤設備的統計數據。
? tps:每秒傳輸的 I/O 請求數。這個值反映了磁盤設備的工作負載。
? kB_read/s:每秒從設備讀取的數據量,以千字節 (KB) 為單位。
? kB_wrtn/s:每秒寫入設備的數據量,以千字節 (KB) 為單位。
? kB_read:從設備讀取的總數據量,以千字節 (KB) 為單位。
? kB_wrtn:寫入設備的總數據量,以千字節 (KB) 為單位。
3. free – 顯示可用和已用內存量
free 命令顯示系統中物理內存和交換內存的總量、已用量和空閑量。這將提供可用內存的總體情況。
例子:
free -h
free 命令的一些選項:
? b – 以字節為單位顯示輸出
? k – 以 KB(而非默認字節)為單位顯示輸出結果
? m – 以 MB 為單位顯示輸出,而不是以字節為單位
? h – 以 GB、MB 等人類可讀格式打印統計數據,而不是字節。
以人類可讀格式(GB、MB 等)打印內存統計數據。當你想快速了解內存容量時,它非常有用。
4. df – 報告文件系統磁盤空間使用情況
df 命令顯示文件系統的磁盤空間使用情況。它會顯示文件系統名稱、總/已用/可用空間和容量。
常用的參數選項:
? -h :以人類可讀的格式顯示磁盤使用情況,以 K、M、G 等單位表示文件系統的大小和可用空間。
? -T :顯示文件系統類型。
? -i :顯示 inode 的使用情況而不是磁盤空間。
? -a :顯示所有文件系統,包括系統特有的文件系統。
? -x type :排除指定類型的文件系統。例如,-x tmpfs 將排除 tmpfs 類型的文件系統。
? -hT :同時使用 -h 和 -T 參數,以人類可讀的格式顯示文件系統以及各個文件系統類型。
? –total :在最后一行顯示所有文件系統的總空間和已使用空間。
? –help :顯示 df 命令的幫助信息,包括所有可用的參數選項和用法示例。
例子:
df-h
上述命令將以人類可讀的格式打印磁盤利用率。也可以不帶參數運行該命令,以塊大小獲得相同的數據。
[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:文件系統的名稱或掛載點名稱。
? Type:文件系統的類型。
? 1K-blocks:文件系統的總塊數(以千字節為單位)。
? Used:已使用的塊數(以千字節為單位)。
? Available:可用的塊數(以千字節為單位)。
? Use%:已使用空間占總空間的百分比。
? Mounted on:文件系統的掛載點。
5. sar – 收集和報告系統活動
sar 工具收集并記錄一段時間內 CPU、內存、I/O、網絡等系統活動信息。通過分析這些數據,可以發現性能問題。
語法:
sar [options] [interval [count]]
其中,[options] 是可選的命令選項,[interval] 是數據收集的時間間隔(以秒為單位),[count] 是指定收集的次數。
一些常用的 sar 參數選項和示例:
? -u:顯示 CPU 使用率統計數據。
示例:sar -u
? -r:顯示內存使用情況統計數據。
示例:sar -r
? -b:顯示磁盤 I/O 統計數據。
示例:sar -b
? -n DEV:顯示網絡接口的統計數據,其中 DEV 是網絡接口的名稱,如 eth0。
示例:sar -n DEV
? -q:顯示運行隊列和負載平均值的統計數據。
示例:sar -q
? -A:顯示所有可用的統計數據。
示例:sar -A
? -s HHSS:從指定的起始時間開始顯示統計數據。
示例:sar -s 1000
? -e HHSS:顯示到指定的結束時間的統計數據。
示例:sar -e 1200
? -f FILE:指定 sar 數據文件的路徑,用于讀取預先記錄的數據。在 Linux 系統上,默認情況下,sar 數據文件存儲在 /var/log/sa/ 目錄下,文件名以 sa 開頭,后面跟著日期的數字表示,如 sa01、sa02 等。每個數據文件包含了特定日期的系統活動報告數據。
示例:sar -f /var/log/sa/sa01
? -o OUTPUT_FILE:將統計數據寫入指定的輸出文件中,以便后續使用。
示例:sar -o output.txt
例子:
sar -u 5 60
每 5 秒采樣一次 CPU 使用情況,持續 60 次。
sar 提供了實時工具無法提供的詳細歷史系統性能數據。
-
cpu
+關注
關注
68文章
11033瀏覽量
215972 -
Linux
+關注
關注
87文章
11457瀏覽量
212768 -
命令
+關注
關注
5文章
726瀏覽量
22670
原文標題:提升Linux系統性能的5大必備監控命令,讓你輕松掌控服務器狀態
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
10個LINUX命令 超好用
Linux系統常用的性能監控命令——vmstat命令
Linux操作必備150個命令
常用的linux命令有哪些類型
常用的linux系統性能監控命令

評論