16個必備Linux伺服器監控命令

2021-06-19 09:29:40 字數 4082 閱讀 7809

16個必備linux伺服器監控命令

16個必備linux伺服器監控命令

2023年06月18日

⁄ linux, 作業系統

⁄ 共 3338字

想不想知道你的伺服器到底在幹什麼?那麼你要知道本文介紹的這些基本命令。一旦你熟悉掌握了這些命令,就為成為專業的 linux系統管理員打下了基礎。

你可以通過圖形化使用者介面(gui)程式來獲取這些外殼命令提供的大量資訊,具體取決於使用哪一種linux發行版。比如說,suse linux就有一款出色的、圖形化配置和管理工具yast,kde的kde system guard同樣很出色。

不過,linux管理員要明白的乙個常理是:只有絕對必要時,才應該在伺服器上執行gui.那是由於,linux gui耗用系統資源,而這些資源原本可以更合理地用在其他地方。所以,儘管使用gui程式很適合對伺服器健康狀況做乙個基本的檢查,但是如果你想知道到底發生了什麼,請關閉gui,開始從linux命令外殼使用這些工具。

這還意味著,只要在需要時,你才應該在伺服器上開啟gui;不用的時候,就及時關掉。為了確保效能最佳,linux伺服器應該在執行級別 (runlevel)3下執行,這個執行級別完全支援網路和多個使用者,但是在機器啟動時,又不開啟gui.如果你果真需要圖形化桌面,總是可以從外殼提示 符下執行startx,獲得圖形化桌面。

如果你的伺服器啟動後進入到圖形化桌面,就需要更改這種情況。為此,進入到終端視窗,使用su命令切換到root使用者,然後用你常用的編輯器開啟/etc/inittab檔案。

一旦進入到檔案裡面,找到initdefault這一行,將id:5:initdefault:改為id:3:initdefault:。

要是沒有/etc/inittab檔案,就建立乙個,並新增id:3這一行。儲存後退出。下次你啟動進入伺服器時,它會啟動進入到執行級別3.如果你不想在進行這種更改後重啟,也可以用命令init 3,立即設定伺服器的執行級別。

一旦你的伺服器在init 3下執行,就可以開始使用下列外殼程式,看看你的伺服器裡面出現了什麼情況。

iostat

iostat 命令詳細地顯示了儲存子系統方面的情況。你通常用iostat來監控儲存子系統總體上執行狀況如何,並且在使用者注意到伺服器執行緩慢之前提早發現輸入/輸出緩慢的問題。相信我,你應該在使用者發現這些問題之前先發現這些問題!

meminfo和free

meminfo為你詳細顯示了記憶體方面的情況。你通常可以使用另乙個程式,比如cat和grep,來訪問meminfo的資訊。比如說,cat /proc/meminfo為你詳細顯示了伺服器的內存在任何乙個時間的使用情況。

如果想快速了解記憶體的概要資訊,可以使用free命令。簡而言之,free為你提供了概要資訊;meminfo為你提供了詳細資訊。

mpsta

mpstat命令可以報告多處理器伺服器上每個可用處理器的活動情況。如今,由於多核處理器,這個命令適用於幾乎所有伺服器。mpstat還可以報告所有 伺服器上的處理器的平均活動情況。它讓你能夠按照系統或按照處理器來顯示總的處理器統計資訊。這個概要資訊可以在潛在的應用程式問題惹毛使用者之前提醒你注 意。

netstat

netstat與ps一樣,也是linux管理員每天都使用的linux工具。它顯示了與網路有關的大量資訊,比如套介面使用情況、路由、介面、協議、網路統計資訊及更多資訊。最常用的一些選項如下:

-a 顯示套介面的所有資訊

-r 顯示路由資訊

-i 顯示網路介面的統計資訊

-s 顯示網路協議的統計資訊

nmon

nmon是nigel's monitor的簡稱,這款廣受歡迎的開源工具用來監控linux系統的效能。nmon可以監控多個子系統的效能資訊,比如處理器使用率、記憶體使用率、運 行佇列的資訊、磁碟輸入/輸出統計資訊、網路輸入/輸出統計資訊、記憶體分頁活動和程序衡量指標。然後,你可以通過curses"圖形化"介面,檢視 nmon的實時系統衡量結果。

想執行nmon,你可以從外殼來啟動該工具。一旦啟動,只要輸入單鍵命令,就可以選擇要監控的子系統。比如說,想獲得處理器、記憶體和磁碟等方面的統計信 息,只要分別輸入c、m和d.也可以使用帶-f標誌的nmon,將效能統計資訊儲存到csv檔案中,以便日後分析。

就日常的伺服器監控而言,我覺得nmon是我的linux系統管理工具包中最有用的乙個程式。

pmap

pmap命令用來報告伺服器的程序所使用的記憶體量。你可以用這個工具來確定伺服器上哪些程序被分配了記憶體、這些程序中有誰在大量使用記憶體。

ps和pstree

ps和pstree這兩個命令是linux系統管理員的兩個得力助手。它們都能以列表的形式顯示所有目前在執行的程序。ps可以告訴你伺服器的程式在使用 多少的記憶體和處理器時間。pstree顯示的資訊比較少,但著重表明了哪些程序是其他程序的子程序。掌握了這些資訊,你就能發現失控的程序,然後用 linux"不留活口"的kill命令,來終止這些程序。

sar

sar程式好比是系統監控工具領域的瑞士軍刀。sar命令實際上由三個程式組成:顯示資料的sar、收集資料的sa1以及儲存資料的sa2.一旦安裝完 畢,sar就能生成詳細的概要資訊,顯示處理器使用率、記憶體分頁活動、網路輸入/輸出和傳輸方面的統計資訊、程序建立活動以及磁碟裝置活動。sar和 nmon的一大區別在於,前者更適合長期監控系統,我覺得nmon則比較適合幫助我快速檢視伺服器的執行狀況。

strace

strace 經常被認為是程式設計師的除錯工具,但它的功用不僅僅用來除錯。它可以截獲和記錄程序呼叫系統的情況。因而,它是乙個實用的診斷、教學和除錯工具。比如說,你可以使用strace來查出某個程式在啟動時實際上使用哪個配置檔案。

不過strace的確有乙個缺陷。它在檢查某個程序時,該程序的效能會一落千丈。因而,只有在我已經有極其充分的理由認為某個程式引起問題的情況下,才使用strace.

tcpdump

tcpdump是乙個簡單而可靠的網路監控實用工具。其基本的協議分析功能讓你能夠粗略檢視網路上的情況。不過想真正深入分析網路方面的情況,你應該使用wireshark(下面有介紹)。

top

top命令顯示了活動程序方面的情況。預設情況下,它顯示了伺服器上執行的最消耗處理器的任務,而且每5秒鐘就重新整理一次列表。你還可以按多個標準對程序進 行分類,比如pid(程序id);年限,最新的列在最前面;時間,按累計時間;以及駐留記憶體使用情況和自啟動以來一直使用處理器的總時間。我覺得它提供了 一種快速而簡易的方法,便於檢視有沒有程序開始即將失控、帶來問題。

uptime

uptime可用來檢視某台伺服器執行了多久、有多少個使用者登入上去。它還顯示了伺服器平均負載的概要資訊。負載的最佳值是1或更小,這意味著每個程序可以立即訪問處理器、不存在處理器週期丟失的情況。

vmstat

大體上來說,你可以使用vmstat來監控虛擬記憶體方面的情況。linux不斷使用虛擬記憶體,以獲得最佳的儲存效能。

如果你的應用程式在占用過多的記憶體,你就會遇到頻繁被換出記憶體(page-out)的情況——即程式從記憶體進入到系統硬驅上的交換空 間。你的伺服器可能會進入到這個階段:花在管理記憶體分頁上的時間比花在執行應用程式上的時間還多——這種情況被稱為抖動(thrashing)。當你的電 腦抖動時,效能就一落千丈。vmstat可以顯示平均的資料或實際樣本,可以幫助你發覺大量耗用記憶體的程式和程序,以免它們導致伺服器執行起來如同蝸牛緩 行。

wireshark

wireshark之前名為ethereal(而且現在仍經常這麼叫),是tcpdump的同類工具,不過它更為高階,擁有先進得多的協議分析和報告功 能。wireshark既有gui介面,又有外殼介面。如果你從事專業級的網路管理工作,只能使用ethereal.而如果你在使用 wireshark/ethereal,我強烈建議閱讀chris sander所著的《實用資料報分析》(practical packet analysis),該書深入淺出地介紹了如何最充分地利用這款實用程式。

本文只是從總體上概述了一些linux最有價值的系統監控程式。不過,如果你熟練掌握了這些程式,就為成為頂尖的 linux系統管理員打下了基礎。

16 個 Linux 伺服器監控命令

如果你想知道你的伺服器正在做幹什麼,你就需要了解一些基本的命令,一旦你精通了這些命令,那你就是乙個 專業的 linux 系統管理員。有些 linux 發行版會提供 gui 程式來進行系統的監控,例如 suse linux 就有乙個非常棒而且專業的工具 yast,kde 的 kde system gu...

16個Linux伺服器監控命令

如果你想知道你的伺服器正在做幹什麼,你就需要了解一些基本的命令,一旦你精通了這些命令,那你就是乙個 專業的 linux 系統管理員。有些 linux 發行版會提供 gui 程式來進行系統的監控,例如 suse linux 就有乙個非常棒而且專業的工具 yast,kde 的 kde system gu...

16 個 Linux 伺服器監控命令

一旦你的伺服器是在控制台模式下執行,你就可以開始我們接下來的內容。iostat 命令用來顯示儲存子系統的詳細資訊,通常用它來監控磁碟 i o 的情況。要特別注意 iostat 統計結果中的 iowait 值,太大了表明你的系統儲存子系統效能低下。meminfo 可讓你獲取記憶體的詳細資訊,你可以使用...