監測伺服器資源使用情況

2023-01-06 21:01:00

基礎

free 檢視總記憶體,使用空閒情況

 

vmstat - 檢視CPU使用率、記憶體情況、IO讀寫情況

 

ethtool - 檢視網路卡寬頻大小

 

top - 實時顯示系統中各個程序的資源佔用狀況

常用操作
  • m:切換顯示記憶體資訊。
  • t:切換顯示程序和CPU狀態資訊。
  • c:切換顯示命令名稱和完整命令列。
  • M:根據駐留記憶體大小進行排序。
  • P:根據CPU使用百分比大小進行排序。
  • T:根據時間/累計時間進行排序。
  • W:將當前設定寫入~/.toprc檔案中。
  • E:切換頂部記憶體資訊單位(k,m,g,t,p)
  • e:切換底下程序資訊單位(k,m,g,t,p)
  • 1:可監控每個邏輯CPU的狀況

Linux top命令詳解

Linux Load Average過高多少合適?

一般的程序需要消耗CPU、記憶體、磁I/O、網絡I/O等資源,在這種情況下,平均負載就不是單獨指的CPU使用情況。

即記憶體、磁碟、網路等因素也可以影響系統的平均負載值。 在單核處理器中,平均負載值1或者小1的時候,系統處理程序會非常輕鬆,即負載很低。

當達3的時候,就會顯得很忙,達5或8的時候就不能很好的處理程序了(其58目前還是個爭議的閾值,為了保守起見,建議選擇低的)。

核CPU的話,滿負荷狀態的數位為 "1.00 * CPU核數",即雙核CPU為2.00,四核CPU為4.00。

 
 

高階

iostat - 統計CPU和裝置I/O使用情況

一款Linux下的io效能監控軟體,用於統計CPU使用情況和塊裝置I/O情況
yum -y install sysstat
預設輸出有三大部分:
  • 系統資訊:核心版本、當前日期、CPU架構、CPU核數目;
  • CPU使用統計資訊:使用者程序使用率、系統使用率、空閒率等;
  • 塊裝置I/O統計資訊:每秒讀寫的資料量、總讀寫資料量等。
 

pidstat - 監控程序的資源使用情況

pidstat 命令是 sysstat 工具的一個命令,用來監控全部或者指定程序的CPU、記憶體、執行緒、裝置IO等系統資源的佔用情況。
  • -u 預設的引數,顯示各個程序的CPU使用統計
  • -r 顯示各個程序的記憶體使用統計
  • -d 顯示各個程序的IO使用情況
  • -p 指定程序號
  • -w 顯示每個程序的上下文切換情況
  • -t 顯示選擇任務的執行緒的統計資訊外的額外資訊
  • -l:顯示命令名和所有引數
  • -C:匹配命令名
 

htop - 可以動態觀察系統程序狀況

top是linux下常用的監控程式,htop相當於其加強版,顏色顯示不同引數,且支援滑鼠操作。
  • M :按記憶體佔用排序
  • P :按CPU排序
  • H :顯示/隱藏使用者執行緒
  • t : 顯示樹形結構
  • l :顯示程序開啟的檔案: 如果安裝了lsof,按此鍵可以顯示程序所開啟的檔案
yum -y install epel-release && yum install -y htop
 

iotop - 監控程序磁碟讀寫情況

iotop 是用於檢視硬碟操作的工具,可顯示 Linux 系統上哪些程序執行最多的 I/O。
yum -y install iotop
控制元件:左右箭頭更改排序列,r 反轉排序順序,o/p /a 切換對應選項,q 退出,任何其他鍵強制重新整理。
選項:
  • -h, --help 顯示此幫助資訊並退出
  • -o, --only 僅顯示實際執行 I/O 的程序或執行緒
  • -p PID, --pid=PID 要監控的程序/執行緒[全部]
  • -u USER, --user=USER 要監控的使用者 [all]
  • -P, --processes 只顯示程序,不顯示所有執行緒
  • -a, --accumulated 顯示累計 I/O 而不是頻寬
 

iftop - 監控本機網路流量情況

Iftop 主要用來顯示本機網路流量情況及各相互通訊的流量集合,如單獨同那臺機器間的流量大小,非常適合於代理伺服器和 iptables 伺服器使用。
yum -y install epel-release && yum -y install iftop
直接執行iftop即可
 
 

更多

dstat - 實時監測網路的狀態

yum -y install dstat
 

nload - 實時統計網路卡頻寬使用率

yum -y install nload
nload em1
 

nethogs - 監控程序頻寬佔用情況

Nethogs 是一個終端下的網路流量監控工具,它的特別之處在於可以顯示每個程序的頻寬佔用情況,這樣可以更直觀獲取網路使用情況。它支援 IPv4 和 IPv6 協定、支援本地網路卡及 PPP 連結。
yum -y install epel-release && yum -y install nethogs
直接執行 nethogs 可以顯示每個程序的頻寬佔用情況
nethogs 後面直接加網路卡名稱可以監控該網路卡
nethogs 加-d引數指定多長時間重新整理一次