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