在Linux系統中,監控系統資源對於確保系統穩定執行、及時發現並解決問題至關重要。以下是一些常用的命令和工具,用於監控CPU、記憶體、磁碟I/O以及其他關鍵系統資源。
1. CPU使用情況
- top:提供了一個實時的檢視,展示了當前正在執行的程序及其CPU和記憶體使用情況。你可以按不同的列排序,如CPU使用率或記憶體使用量,以快速識別資源消耗大的程序。
- htop:是
top
命令的一個增強版本,提供了更友好的互動介面,支援顏色,並允許使用者透過箭頭鍵導航和篩選程序列表。
2. 記憶體監控
- free:顯示系統總的記憶體使用情況,包括實體記憶體、緩衝區、交換空間等。
- vmstat:除了記憶體使用情況外,還能顯示CPU活動、程序、磁碟I/O等資訊,是一個全面的系統狀態檢視工具。
3. 磁碟I/O監控
- iostat:報告CPU使用情況和磁碟I/O統計,特別適合於診斷磁碟I/O瓶頸。
- iotop:類似於
top
,但專注於磁碟I/O活動,顯示哪些程序在讀寫硬碟以及它們的I/O頻寬使用情況。
4. 系統整體統計與歷史資料
- sar(System Activity Reporter):記錄並報告系統活動,可以提供CPU、記憶體、I/O、網路等資源的詳細歷史資料。透過配置sar,你可以定期收集資料,並在之後分析系統行為。
5. 程序監控與管理
- ps:顯示瞬間的程序狀態,可以用來檢視單個或所有程序的資源使用情況。
- pgrep/pkill:基於名稱查詢或終止程序,是管理程序的便捷工具。
6. 綜合監控工具
- atop:提供了一個終端環境下的綜合資源監控檢視,能夠同時顯示CPU、記憶體、網路、I/O和核心活動,特別適用於高負載情況下的快速診斷。
- nmon:一個強大的系統監控工具,可以實時顯示系統資源使用情況,也能將資料儲存下來供後續分析。
7. 高階監控與圖形化介面
- Grafana + Prometheus 或 Zabbix:這些是更為高階的監控解決方案,提供了豐富的圖形化介面,可以設定警報規則,長期儲存和分析監控資料。雖然它們的安裝和配置相對複雜,但非常適合大規模系統或需要深入分析的場景。
8. 使用示例
- 檢視CPU使用情況:
top
或htop
- 檢視記憶體使用情況:
free -h
(-h
引數用於以人類可讀的格式顯示大小) - 監控磁碟I/O:
iostat -x 5
(每隔5秒顯示一次詳細I/O統計) - 獲取系統活動報告:
sar -A
(顯示所有可用的系統活動報告) - 檢視特定程序:
ps aux | grep <process_name>
或pgrep <process_name>
綜上所述,根據實際需求,可以選擇合適的命令或工具進行系統資源的監控。