監控 Linux 系統的 7 個命令列工具

linux.cn發表於2015-07-28

深入

關於Linux最棒的一件事之一是你能深入作業系統,來探索它是如何工作的,並尋找機會來微調效能或診斷問題。這裡有一些基本的命令列工具,讓你能更簡單地探索和操作Linux。大多數的這些命令是在你的Linux系統中已經內建的,但假如它們沒有的話,就用谷歌搜尋命令名和你的發行版名吧,你會找到哪些包需要安裝(注意,一些命令是和其它命令捆綁起來打成一個包的,你所找的包可能寫的是其它的名字)。如果你知道一些你所使用的其它工具,歡迎評論。

我們怎麼開始


須知: 本文中的截圖取自一臺Debian Linux 8.1 (“Jessie”),其執行在OS X 10.10.3 (“Yosemite”)作業系統下的Oracle VirtualBox 4.3.28中的一臺虛擬機器裡。想要建立你的Debian虛擬機器,可以看看我的這篇教程——“如何在 VirtualBox VM 下安裝 Debian”。

Top


作為Linux系統監控工具中比較易用的一個,top命令能帶我們一覽Linux中的幾乎每一處。以下這張圖是它的預設介面,但是按“z”鍵可以切換不同的顯示顏色。其它熱鍵和命令則有其它的功能,例如顯示概要資訊和記憶體資訊(第四行第二個),根據各種不一樣的條件排序、終止程式任務等等(你可以在這裡找到完整的列表)。

htop


相比top,它的替代品Htop則更為精緻。維基百科是這樣描述的:“使用者經常會部署htop以免Unix top不能提供關於系統程式的足夠資訊,比如說當你在嘗試發現應用程式裡的一個小的記憶體洩露問題,Htop一般也能作為一個系統監聽器來使用。相比top,它提供了一個更方便的游標控制介面來向程式傳送訊號。” (想了解更多細節猛戳這裡)

Vmstat


Vmstat是一款監控Linux系統效能資料的簡易工具,這讓它更合適使用在shell指令碼中。使出你的正規表示式絕招,用vmstat和cron作業來做一些激動人心的事情吧。“後面的報告給出的是上一次系統重啟之後的均值,另外一份報告給出的則是從前一個報告起間隔週期中的資訊。其它的程式和記憶體報告是那個瞬態的情況”(猛戳這裡獲取更多資訊)。

ps


ps命令展現的是正在執行中的程式列表。在這種情況下,我們用“-e”選項來顯示每個程式,也就是所有正在執行的程式了(我把列表滾動到了前面,否則列名就看不到了)。這個命令有很多選項允許你去按需格式化輸出。只要使用上述一點點的正規表示式技巧,你就能得到一個強大的工具了。猛戳這裡獲取更多資訊。

Pstree


Pstree“以樹狀圖顯示正在執行中的程式。這個程式樹是以某個 pid 為根節點的,如果pid被省略的話那樹是以init為根節點的。如果指定使用者名稱,那所有程式樹都會以該使用者所屬的程式為父程式進行顯示。”以樹狀圖來幫你將程式之間的所屬關係進行分類,這的確是個很有效的工具(戳這裡)。

pmap


在除錯過程中,理解一個應用程式如何使用記憶體是至關重要的,而pmap的作用就是當給出一個程式ID時顯示出相關資訊。上面的截圖展示的是使用“-x”選項所產生的部分輸出,你也可以用pmap的“-X”選項來獲取更多的細節資訊,但是前提是你要有個更寬的終端視窗。

iostat


Linux系統的一個至關重要的效能指標是處理器和儲存的使用率,它也是iostat命令所報告的內容。如同ps命令一樣,iostat有很多選項允許你選擇你需要的輸出格式,除此之外還可以在某一段時間範圍內的重複取樣幾次。

相關文章