監(jiān)控Linux系統(tǒng)的7個命令行工具
這里有一些基本的命令行工具,讓你能更簡單地探索和操作Linux。
Image courtesy Meltys-stock
深入
關(guān)于Linux最棒的一件事之一是你能深入操作系統(tǒng),來探索它是如何工作的,并尋找機會來微調(diào)性能或診斷問題。這里有一些基本的命令行工具,讓你能更簡單地探索和操作Linux。大多數(shù)的這些命令是在你的Linux系統(tǒng)中已經(jīng)內(nèi)建的,但假如它們沒有的話,就用谷歌搜索命令名和你的發(fā)行版名吧!你會找到哪些包需要安裝(注意,一些命令是和其它命令捆綁起來打成一個包的,你所找的包可能寫的是其它的名字)。如果你知道一些你所使用的其它工具,歡迎評論。
我們怎么開始
須知: 本文中的截圖取自一臺Debian Linux 8.1 (“Jessie”),其運行在OS X 10.10.3 (“Yosemite”)操作系統(tǒng)下的Oracle VirtualBox 4.3.28中的一臺虛擬機里。想要建立你的Debian虛擬機,可以看看我的這篇教程——“如何在 VirtualBox VM 下安裝 Debian”。
Top
作為Linux系統(tǒng)監(jiān)控工具中比較易用的一個,top命令能帶我們一覽Linux中的幾乎每一處。以下這張圖是它的默認(rèn)界面,但是按“z”鍵可以切換不同的顯示顏色。其它熱鍵和命令則有其它的功能,例如顯示概要信息和內(nèi)存信息(第四行第二個),根據(jù)各種不一樣的條件排序、終止進(jìn)程任務(wù)等等(你可以在這里找到完整的列表)。
htop
相比top,它的替代品Htop則更為精致。維基百科是這樣描述的:“用戶經(jīng)常會部署htop以免Unix top不能提供關(guān)于系統(tǒng)進(jìn)程的足夠信息,比如說當(dāng)你在嘗試發(fā)現(xiàn)應(yīng)用程序里的一個小的內(nèi)存泄露問題,Htop一般也能作為一個系統(tǒng)監(jiān)聽器來使用。相比 top,它提供了一個更方便的光標(biāo)控制界面來向進(jìn)程發(fā)送信號。” (想了解更多細(xì)節(jié)猛戳這里)
#p#
Vmstat
Vmstat是一款監(jiān)控Linux系統(tǒng)性能數(shù)據(jù)的簡易工具,這讓它更合適使用在shell腳本中。使出你的正則表達(dá)式絕招,用vmstat和 cron作業(yè)來做一些激動人心的事情吧。“后面的報告給出的是上一次系統(tǒng)重啟之后的均值,另外一份報告給出的則是從前一個報告起間隔周期中的信息。其它的 進(jìn)程和內(nèi)存報告是那個瞬態(tài)的情況”(猛戳這里獲取更多信息)。
ps
ps命令展現(xiàn)的是正在運行中的進(jìn)程列表。在這種情況下,我們用“-e”選項來顯示每個進(jìn)程,也就是所有正在運行的進(jìn)程了(我把列表滾動到了前面,否 則列名就看不到了)。這個命令有很多選項允許你去按需格式化輸出。只要使用上述一點點的正則表達(dá)式技巧,你就能得到一個強大的工具了。猛戳這里獲取更多信息。
Pstree
Pstree“以樹狀圖顯示正在運行中的進(jìn)程。這個進(jìn)程樹是以某個 pid 為根節(jié)點的,如果pid被省略的話那樹是以init為根節(jié)點的。如果指定用戶名,那所有進(jìn)程樹都會以該用戶所屬的進(jìn)程為父進(jìn)程進(jìn)行顯示。”以樹狀圖來幫你 將進(jìn)程之間的所屬關(guān)系進(jìn)行分類,這的確是個很有效的工具(戳這里)。
pmap
在調(diào)試過程中,理解一個應(yīng)用程序如何使用內(nèi)存是至關(guān)重要的,而pmap的作用就是當(dāng)給出一個進(jìn)程ID時顯示出相關(guān)信息。上面的截圖展示的是使用“-x”選項所產(chǎn)生的部分輸出,你也可以用pmap的“-X”選項來獲取更多的細(xì)節(jié)信息,但是前提是你要有個更寬的終端窗口。
iostat
Linux系統(tǒng)的一個至關(guān)重要的性能指標(biāo)是處理器和存儲的使用率,它也是iostat命令所報告的內(nèi)容。如同ps命令一樣,iostat有很多選項允許你選擇你需要的輸出格式,除此之外還可以在某一段時間范圍內(nèi)的重復(fù)采樣幾次。詳情請戳這里。