有關進程和線程的認識,請查看上篇博客
http://yunweigou.blog.51cto.com/6299641/1634867
Linux下進程管理工具非常多,以下重點描述下htop/glances/dstat工具的使用
進程管理之htop
htop需要自行安裝,這裏就不再介紹安裝過程。與top工具相比,優點實在太多,不信自己看
htop運行效果如下圖
u:過濾僅顯示選定用戶的進程
s:跟蹤指定的進程發起的系統調用
l:顯示進程所打開的文件,下圖爲init進程打開的相關文件
t:顯示進程的層次結構a:設定進程的cpu親緣性
前提:多處理器
標記某個進程允許使用哪些cpu
還有以下常用選項:
-d|--delay=DELAY:設置延遲更新時間,單位爲秒
-u USERNAME:僅顯示指定用戶的進程
-s COLUMN:根據指定的字段排序
-p --pid=PID1,PID2....只顯示指定的PIDS
...
以下是F1-F10的功能以及對應字母的快捷鍵:
h,? | F1 | 查看htop使用說明 |
S | F2 | htop設定 |
/ | F3 | 搜索進程 |
\ | F4 | 增量進程過濾器 |
t | F5 | 顯示樹形結構 |
<,> | F6 | 選擇排序方式 |
[ | F7 | 減少nice值,運行優先級設定 |
] | F8 | 擴大nice值,與減少相反 |
k | F9 | 對進程傳遞信號 |
q或Ctrl+C | F10 | 結束htop |
進程管理之glances
同htop,該工具需自行安裝,安裝過程不再一一贅述
glances爲另一個流弊的系統資源管理監控工具,包括CPU、負載、內存、磁盤 I/O、網絡流量、文件系統、系統溫度等信息
Glances 可以監控本機也可以通過客戶端服務器模式監控其他機器;Glances 提供了基於 XML/RPC 的 API 便於其他程序調用,可編程;Glances 可以將數據輸出保存到 csv 或 html 格式的文件方便其他程序處理(報告或繪製圖形)
其選項如下:
-b:以Byte/s爲單位顯示網卡交換速率
-B @IP|host:綁定服務器端IP地址或者主機名
-d:關閉磁盤I/O功能
-f /PATH/TO/FILE:設備輸出文件
-o {HTML|CSV}:指定輸出文件格式(格式爲 csv 或 html)
-m:關閉掛載的磁盤模塊
-n:關閉網絡功能模塊
-r:關閉進程列表功能模塊
-t #:設置屏幕刷新間隔,默認3秒(有博文寫2秒,經長時註釋,確實爲3秒=.=!)
支持遠程模式:即以C/S模式工作
服務模式:
-c:用於連入的服務器的IP地址
glances -s -B IPADDR
glances -c IPADDR
Server端:以監聽模式啓動glances
Client端:以遠程模式啓動glances,遠程聯入指定服務器,並顯示Server上的相關性能數據
整合了vmstat,iostat,netstat以及ifstat等多款工具於一身(聽上去就很流弊)
實時顯示統計數據
用python開發的,易擴展現有工作任務
可分組統計塊設備/網絡設備,並給出總數
非常準確的時間精度,幾遍系統負荷較高也不會延遲顯示
不同顏色顯示不同單位
在分析和排障是可通過啓用監控項並排序
dstat [-afv] [OPTIONS...] [delay[count]] 選項:
-a:集合cdngy這些選項
-c:顯示cpu性能指標相關的統計數據
-d:顯示disk相關的速率數據
-g:顯示page相關的速率數據
-i:顯示中斷相關的速率數據
-l:顯示load average相關的統計數據
-m:顯示內存相關的統計數據
-n:顯示網絡相關的統計數據
-p:顯示進程相關的統計數據
-r:顯示I/O請求速率
-s:顯示swap相關的統計數據
-y:顯示系統相關的數據,包括中斷和進程的切換
--top-cpu:顯示最佔CPU的進程
--top-bio:顯示最消耗block io的進程
--top-io:顯示最佔用I/O的進程
--top-mem:顯示最佔用內存的進程
--ipc:顯示進程間通信相關的速率數據
--raw:顯示raw(裸)套接字的相關數據
--tcp:顯示tcp套接字的相關數據
--udp:顯示udp套接字相關的數據
--unix:顯示unix sock接口相關的統計數據
常用組合:
dstat -cndymlp -N total -D total 525 統計CPU,IO ,network,system load
dstat -cdnsil -D hda -N eth1 統計網卡1的信息
dstat –vmstat 內存使用情況