2015年12月14日 星期一

linux 常用14個監控系統指令

 1.iostat

  iostat 指令用來顯示存儲子系統的詳細信息,通常用它來監控磁盤 I/O 的情況。要特別註意 iostat 統計結果中的 %iowait 值,太大了表明你的系統存儲子系統性能低下。

  2.meminfo 和 free

  Meminfo 可讓你獲取內存的詳細信息,你可以使用 cat 和 grep 指令來顯示 meminfo 信息:

  cat /proc/meminfo

  另外你可以使用 free 指令來顯示動態的內存使用信息,free 只是給你大概的內存信息,而 meminfo 提供的信息更加詳細。

  4.mpstat

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

  5.netstat

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

  -a Show all socket information

  -r Show routing information

  -i Show network interface statistics

  -s Show network protocol statistics

  6.nmon

  Nmon, 是 Nigel's Monitor 的縮寫,是一個使用很普遍的開源工具,用以監控 Linux 系統的性能。Nmon 監控多個子系統的性能數據,例如處理器的使用率、內存使用率、隊列、磁盤I/O統計、網絡I/O統計、內存頁處理和進程信息。Nmon 也提供了一個圖形化的工具.

  要運行 nmon,你可以在指令行中啟動它,然後選擇要監控的子系統,這些子系統都對應有一個快捷鍵,例如輸入 c 可查看 CPU 信息,m用於查看內存,d用來查看磁盤信息等,你也可以使用 -f 指令將 nmon 的執行結果保存到一個 CSV 文件中,便於日後分析。

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

  7.pmap

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

  8.ps 和 pstree

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

  10.sar


  sar 程序是系統監控工具裡的瑞士軍刀。該程序包含三個工具:sar 用來顯示數據,sa1 和 sa2 用來收集數據並保存。sar 可用來顯示 CPU 使用率、內存頁數據、網絡 I/O 和傳輸統計、進程創建活動和磁盤設備的活動詳情。sar 和 nmon 最大的不同就是 sar 跟適合用作長期的監控,而 nmon 可以讓你快速的瞭解系統當前狀態。

  11.top

  top 指令顯示當前的活動進程,默認它是按消耗 CPU 的厲害程度進行排序,每5秒鐘刷新一次列表,你也可以選擇不同的排序方式,例如 m 是按內存佔用方式進行排序的快捷鍵。

  12.uptime

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

  13.vmstat

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

  14.tcpdump

  Tcpdump 是一個簡單、可靠的網絡監控工具,用來做基本的協議分析,看看那些進程在使用網絡以及如何使用網絡。

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

沒有留言:

張貼留言