你需要知道的16個Linux伺服器監控命令

來源:互聯網
上載者:User

有些 Linux 發行版會提供 GUI 程式來進行系統的監控,例如 SUSE Linux 就有一個非常棒而且專業的工具 YaST,KDE 的 KDE System Guard 同樣很出色。當然,要使用這些工具,你必須在伺服器跟前進行操作,而且這些 GUI 的程式佔用了很多系統資源,所以說,儘管 GUI 用來做基本的伺服器健康狀態監測挺好,但如果你想知道真正發生什麼,請關掉 GUI 開始命令列之旅吧。

  你應該只在需要的時候去啟動 GUI ,不用的時候關掉它。如果要讓伺服器保持最佳效能,你應該將 Linux 伺服器的運行層級 runlevel 設定為 3 ,就是控制台模式,當你需要圖形化案頭的時候使用 startx 命令來啟動它。

  如果你的伺服器啟動後就直接進入圖形介面,你需要修改配置 /etc/inittab 找到 initdefault 一樣,將 id:5:initdefault 修改為 id:3:initdefault。

  如果你沒找到 /etc/inittab 檔案,那就建立一個新的,檔案內容增加 id:3 這麼一行。這樣下次伺服器啟動的時候就不會進入圖形介面。如果你不想等到伺服器重啟的時候才生效,你可以執行 init 3 這個命令。

  一旦你的伺服器是在控制台模式下運行,你就可以開始我們接下來的內容。

  iostat

  iostat 命令用來顯示儲存子系統的詳細資料,通常用它來監控磁碟 I/O 的情況。要特別注意 iostat 統計結果中的 %iowait 值,太大了表明你的系統儲存子系統效能低下。

  meminfo 和 free

  Meminfo 可讓你擷取記憶體的詳細資料,你可以使用 cat 和 grep 命令來顯示 meminfo 資訊:

  1cat /proc/meminfo

  另外你可以使用 free 命令來顯示動態記憶體使用量資訊,free 只是給你大概的記憶體資訊,而 meminfo 提供的資訊更加詳細。

  mpstat

  mpstat mpstat是MultiProcessor Statistics的縮寫,是即時系統監控工具。其報告與CPU的一些統計資訊,這些資訊存放在/proc/stat檔案中。在多CPUs系統裡,其不但能查看所有CPU的平均狀況資訊,而且能夠查看特定CPU的資訊。

  關於 mpstat 執行結果中的參數意思請參考此貼。

  netstat

  Netstat 和 ps 命令類似,是 Linux 管理員基本上每天都會用的工具,它顯示了大量跟網路相關的資訊,例如 socket 的使用、路由、介面、協議、網路等等,下面是一些常用的參數:

  1-a Show all socket information

  2-r Show routing information

  3-i Show network interface statistics

  4-s Show network protocol statistics

  nmon

  Nmon, 是 Nigel's Monitor 的縮寫,是一個使用很普遍的開源工具,用以監控 Linux 系統的效能。Nmon 監控多個子系統的效能資料,例如處理器的使用率、記憶體使用量率、隊列、磁碟I/O統計、網路I/O統計、記憶體頁處理和進程資訊。Nmon 也提供了一個圖形化的工具.

  要運行 nmon,你可以在命令列中啟動它,然後選擇要監控的子系統,這些子系統都對應有一個快速鍵,例如輸入 c 可查看 CPU 資訊,m用於查看記憶體,d用來查看磁碟資訊等,你也可以使用 -f 命令將 nmon 的執行結果儲存到一個 CSV 檔案中,便於日後分析。

  在每日的監控工作中,我發現 nmon 是我最常用的工具。

  pmap

  pmap 命令用來報告每個進程佔用記憶體的詳細情況,可用來看是否有進程超支了,該命令需要進程 id 作為參數。

  ps 和 pstree

  ps 和 pstree 命令是 Linux 系統管理員最好的朋友,都可以用來列表正在啟動並執行所有進程。ps 告訴你每個進程佔用的記憶體和 CPU 處理時間,而 pstree 顯示的資訊沒那麼詳細,但它以樹形結構顯示進程之間的依賴關係,包括子進程資訊。一旦發現某個進程有問題,你可以使用 kill 來殺掉它。

  sar

  sar 程式是系統監控工具裡的瑞士軍刀。該程式包含三個工具:sar 用來顯示資料,sa1 和 sa2 用來收集資料並儲存。sar 可用來顯示 CPU 使用率、記憶體頁資料、網路 I/O 和傳輸統計、進程建立活動和磁碟裝置的活動詳情。sar 和 nmon 最大的不同就是 sar 跟適合用作長期的監控,而 nmon 可以讓你快速的瞭解系統目前狀態。

  strace

  strace 經常被認為是程式員調試的工具,但不止如此。它可以記錄進程進行系統調用的詳情,因此它也是一個非常好的診斷工具,例如你可以使用它來找出某個程式正在開啟某個設定檔。

  Strace 也有一個缺陷,但它在跟蹤某個進程時會讓該進程的效能變得非常差,因此請謹慎使用。

  tcpdump

  Tcpdump 是一個簡單、可靠的網路監控工具,用來做基本的協議分析,看看那些進程在使用網路以及如何使用網路。當然,如果你要擷取跟詳細的資訊,你應該使用 Wireshark (下面我們會介紹).

  top

  top 命令顯示當前的活動進程,預設它是按消耗 CPU 的厲害程度進行排序,每5秒鐘重新整理一次列表,你也可以選擇不同的排序方式,例如 m 是按記憶體佔用方式進行排序的快速鍵。

  uptime

  uptime 命令告訴你這台伺服器從開機啟動到現在已經運行了多長時間了。同時也包含了從啟動到現在伺服器的平均負載情況

  vmstat

  你可以使用 vmstat 來監控虛擬記憶體,一般 Linux 上的開發人員喜歡使用虛擬記憶體來獲得最佳的儲存效能。該命令報告關於核心線程、虛擬記憶體、磁碟、陷阱和 CPU 活動的統計資訊。由 vmstat 命令產生的報告可以用於平衡系統負載活動。系統範圍內的這些統計資訊(所有的處理器中)都計算出以百分比表示的平均值,或者計算其總和。

  Wireshark

  Wireshark, 前身是 Ethereal ,是一個網路通訊協定檢測程式,讓您經由程式抓取啟動並執行網站的相關資訊,包括每一封包流向及其內容、資訊可依作業系統語系看出,方便查看、監控TCP session動態等等.

  

  這裡羅列的是大多數最有價值的 Linux 監控程式,當然,你可能還會使用其他的工具,不妨跟大家分享下

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.