Linux環境監控工具匯總
作者:zhanyr
Linux 操作系統有諸多自帶和第三方的監控工具,以下從不同維度來整理常用的一些監控工具。
CPU
- top(經典的Linux任務管理工具)
示例:top -n 1 -b
- vmstat(展現給定時間間隔的服務器的狀態值,包括服務器的CPU使用率,內存使用)
示例:vmstat 1 10 #每1秒采集一次共采集10次
- pidstat(進程實時監控)
示例:pidstat -u 1 -p pid
- mpstat(多CPU實時監控工具)
示例:mpstat -P ALL 1 5
- sar (性能監控和瓶頸檢查)
示例:sar -u
- dstat(dstat 是一個可以取代vmstat,iostat,netstat和ifstat這些命令的多功能產品)
示例:dstat 2 10(每2秒采集一次共采集10次)
內存
- top
示例:top -n 1 -b
- pidstat
示例:pidstat -r
- free(查看當前系統的物理內存使用情況)
示例:free -mh
- sar (性能監控和瓶頸檢查)
示例:sar -r 10 3(每10秒采樣一次,連續采樣3次)
- vmstat
示例:vmstat 2 1
磁盤IO
- iostat (IO實時監控)
示例:iostat -d -x -k 1 10
- iotop(監控系統中各個進程對IO的使用量)
示例:iotop
- pidstat
示例: pidstat -d
- sar
示例:sar -d
- vmstat
示例:vmstat 2 1
網絡
- netstat(監控TCP/IP網絡)
示例:netstat -nltup
- iftop(實時流量監控工具)
示例:iftop -i em2
- ss(獲取socket統計信息,它可以顯示和netstat類似的內容)
示例:ss -aA tcp
- sar
示例:sar -n EDEV 1 5
- tcpdump(抓包工具)
示例:tcpdump -i em1 host 192.168.1.1 and port 80
- tcpflow(分析網絡流量)
示例:tcpflow -i em1 port 80
- nload(用于查看linux網絡流量狀況,實時輸出)
示例:nload -t 200 -i 1024 -o 128 -U M
系統負載
- CPU負載說明
假如某個程序頻繁的進行計算、邏輯判斷等操作,那么此類程序主要依賴于CPU的處理速度,故稱之為"計算密集型程序"。
- IO負載說明
假如某個程序頻繁的從磁盤中讀取寫入文件,那么這種類型的操作主要依賴于磁盤的讀取速度,也就是輸入輸出(input/output)簡寫為I/O。此類I/O負載的程序,稱為I/O密集型程序。
- top
示例:top
- uptime
示例:uptime
- sar
示例:sar -q 1 20
其他工具
- htop(類似top,比top更加人性化)
- glances(類似top,基于 Python 的系統遙測監控工具)
- strace(常用來跟蹤進程執行時的系統調用和所接收的信號)
- dtrace(動態跟蹤)
- valgrind(內存泄漏檢測)
- dmesg(內核信息)
責任編輯:龐桂玉
來源:
老葉茶館