在Linux中監控系統效能是一個關鍵的運維任務,它有助於識別瓶頸、最佳化資源分配並確保系統的穩定執行。以下是一些常用的命令列工具和方法,用於監控Linux系統的效能:
-
top命令:
top
是最基礎也是最常用的實時系統監控工具,它可以顯示當前系統中的程序列表以及CPU、記憶體使用情況等。透過top,你可以看到哪個程序正在消耗最多的CPU或記憶體資源,並可以根據需要結束程序。
-
htop命令:
htop
是top
命令的一個增強版本,提供了彩色介面和更友好的互動方式,比如搜尋、過濾程序,以及透過F keys進行排序和操作。如果你的系統沒有預裝htop,可以透過包管理器(如apt、yum或dnf)安裝。
-
vmstat命令:
vmstat
用於報告虛擬記憶體統計資訊和系統活動,包括CPU使用率、記憶體使用、程序狀態、磁碟I/O等。例如,vmstat 2
每兩秒更新一次系統統計資訊。
-
iostat命令:
iostat
主要用於監控系統的輸入/輸出裝置負載情況,可以顯示CPU使用率以及磁碟讀寫操作的統計資訊。通常與-x
引數一起使用以獲得更詳細的輸出,如iostat -x 5
每5秒報告一次。
-
sar命令 (System Activity Reporter):
sar
是一個強大的系統活動報告工具,可以收集並展示關於CPU、記憶體、I/O、網路等多種系統資源的使用情況。它甚至可以基於歷史資料生成報告,但需要系統事先開啟資料收集功能(如透過cron定時任務)。例如,sar -u 1 10
會每秒取樣CPU使用情況共10次。
-
netstat命令 或 ss命令:
- 雖然
netstat
傳統上用於檢視網路連線、路由表、網路介面統計等,但它已被ss
(Socket Statistics)命令所取代,後者提供了更高效且更詳細的網路統計資訊。例如,ss -tulnp
顯示所有TCP和UDP監聽埠及其對應的程序資訊。
- 雖然
-
/proc檔案系統:
- Linux的
/proc
檔案系統提供了關於系統核心狀態的實時資訊,無需安裝額外工具即可直接檢視。例如,cat /proc/meminfo
檢視記憶體使用情況,cat /proc/cpuinfo
檢視CPU資訊。
- Linux的
-
Glances或Grafana + Prometheus:
- 對於更高階的監控需求,可以使用像Glances這樣的系統監視器,它提供了一個更全面的系統檢視。或者,部署Prometheus作為監控伺服器,配合Grafana做資料視覺化,實現高度可定製化的效能監控和報警系統。
-
Linux Dash、Netdata等Web介面工具:
- 這些工具提供了基於Web瀏覽器的實時系統監控介面,便於遠端監控和管理。例如,Linux Dash是一個輕量級的Web儀表板,顯示系統的關鍵效能指標。
綜上所述,結合這些工具和方法,可以根據實際需求靈活選擇合適的監控策略,確保Linux系統執行平穩高效。