在Linux中,如何監控系統資源使用情況?

黄嘉波發表於2024-04-11

在Linux環境中,監控系統資源使用情況是系統管理和故障排查的關鍵環節。以下是一些主要的方法和命令來監控不同型別的系統資源:

1. CPU使用情況
  • tophtop:實時顯示系統中各個程序對CPU資源的使用狀況。top 是一個經典的命令列工具,而 htop 是其增強版本,提供了彩色介面和垂直/水平滾動功能。

    # 使用top命令
    top
    
    # 如果系統中有htop,則使用htop命令
    htop
    
  • mpstat:用於多處理器環境下的CPU使用情況統計,可顯示每個CPU核心的負載。

    mpstat [interval] [count]
    
2. 記憶體使用情況
  • free:顯示系統總的記憶體使用情況,包括實體記憶體和交換空間。

    free -h # 更人性化的單位顯示
    
  • vmstat:除了記憶體外,還可以檢視虛擬記憶體統計資訊,如頁入頁出、交換活動等。

    vmstat [interval] [count]
    
3. 磁碟I/O監控
  • iostat:監控磁碟裝置的讀寫操作統計資訊。

    iostat [-dx] [interval] [count]
    
  • iotop:類似於top命令,但專門用於顯示磁碟I/O使用情況,包括程序級別的讀寫速率和頻寬使用。

    iotop
    
4. 系統整體統計
  • sar:系統活動報告工具,能記錄並報告CPU、記憶體、磁碟、網路等各種資源的歷史統計資料。

    sar -u [interval] [count] # CPU使用率
    sar -b [interval] [count] # I/O和傳輸速率
    sar -d [interval] [count] # 磁碟I/O統計
    
5. 程序活動監控
  • pspgrep/pkill:檢視當前執行的程序及其資源使用情況。

    ps aux # 檢視所有程序詳細資訊
    pgrep <process_name> # 按程序名查詢程序ID
    pkill <process_name> # 結束指定名稱的程序
    
  • lsof:列出當前系統開啟的檔案及其對應的程序資訊。

    lsof
    
6. 網路流量監控
  • netstatss:顯示網路連線、路由表、介面統計等資訊。

    netstat -tulnp # 顯示監聽埠和網路連線
    ss -s # 統計套接字資訊
    
7. 系統負載和執行時間
  • uptime:顯示系統執行時間和負載。

    uptime
    

綜上所述,可以根據需要定期收集系統資料,並根據實際情況作出相應調整,例如最佳化記憶體分配、限制高負載程序、調整磁碟I/O排程策略等,以保持系統高效穩定執行。此外,還有其他高階監控工具如 collectdPrometheusGrafana 等可以配合使用,實現長期監控和視覺化展示。

相關文章