基礎
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的時候就不能很好的處理進程了(其中5和8目前還是個爭議的閾值,爲了保守起見,建議選擇低的)。
多核CPU的話,滿負荷狀態的數字爲 "1.00 * CPU核數",即雙核CPU爲2.00,四核CPU爲4.00。
高階
iostat - 統計CPU和設備I/O使用情況
yum -y install sysstat
- 系統信息:內核版本、當前日期、CPU架構、CPU核數目;
- CPU使用統計信息:用戶進程使用率、系統使用率、空閒率等;
- 塊設備I/O統計信息:每秒讀寫的數據量、總讀寫數據量等。
pidstat - 監控進程的資源使用情況
- -u 默認的參數,顯示各個進程的CPU使用統計
- -r 顯示各個進程的內存使用統計
- -d 顯示各個進程的IO使用情況
- -p 指定進程號
- -w 顯示每個進程的上下文切換情況
- -t 顯示選擇任務的線程的統計信息外的額外信息
- -l:顯示命令名和所有參數
- -C:匹配命令名
htop - 可以動態觀察系統進程狀況
- M :按內存佔用排序
- P :按CPU排序
- H :顯示/隱藏用戶線程
- t : 顯示樹形結構
- l :顯示進程打開的文件: 如果安裝了lsof,按此鍵可以顯示進程所打開的文件
yum -y install epel-release && yum install -y htop
iotop - 監控進程磁盤讀寫情況
yum -y install iotop
- -h, --help 顯示此幫助信息並退出
- -o, --only 僅顯示實際執行 I/O 的進程或線程
- -p PID, --pid=PID 要監控的進程/線程[全部]
- -u USER, --user=USER 要監控的用戶 [all]
- -P, --processes 只顯示進程,不顯示所有線程
- -a, --accumulated 顯示累計 I/O 而不是帶寬
iftop - 監控本機網絡流量情況
yum -y install epel-release && yum -y install iftop
更多
dstat - 實時監測網絡的狀態
yum -y install dstat
nload - 實時統計網卡帶寬使用率
yum -y install nload nload em1
nethogs - 監控進程帶寬佔用情況
yum -y install epel-release && yum -y install nethogs