監控 Linux 系統的 7 個命令行工具
深入
關於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有很多選項允許你選擇你需要的輸出格式,除此之外還可以在某一段時間範圍內的重複採樣幾次。詳情請戳這裡。
作者:Mark Gibbs 譯者:ZTinoZ 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive