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 監控程序,當然,你可能還會使用其他的工具,不妨跟大家分享下
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 監控程序,當然,你可能還會使用其他的工具,不妨跟大家分享下
留言
張貼留言