Linux中提供了一個非常好的檔案虛擬系統(/proc)來對系統效能進行監控。 /proc檔案虛擬系統是一種核心和核心模組用來向進程發送資訊的機制。它存在於記憶體而不是硬碟中。 /proc檔案虛擬系統的主要功能,可以監控到包括進程資訊、系統資訊、CPU資訊、負載資訊、系統記憶體資訊等等。
1、監測系統負載
1.使用uptime命令可以查看系統負載,系統平均負載是指在特定時間間隔內運行隊列中的平均進程數目。如果一個進程沒有在等待I/O操作的結果並主動進入運行狀態,則其位於運行隊列之中。
# uptime15:44:50 up 5:45, 4 users, load average: 2.11, 0.66, 0.26
以上從顯示最近1分鐘內系統的平均負載是2.11,在最近5分鐘內系統的平均負載為0.66,在最近的15分鐘內系統的平均負載為0.26,一共有4個使用者。假設,系統只有一個CPU,表示當前的任務數為2.11個;若系統有兩個CPU,則表示當前的任務數為2.11/2=1.055個,表明此系統的效能還是很好的。
2.使用cat /proc/loadavg命令
#cat /proc/loadavg0.40 0.79 0.70 2/245 4101
Cat /proc/loadavg提供以下資料: 1秒鐘平均負載;5秒鐘平均負載;15秒鐘平均負載;總作業數;正在啟動並執行作業總數。
2、監測進程運行
Linux系統提供了ps和top命令來監測進程啟動並執行情況,根據監測的情況,再進行一些相應的措施來提高系統的效能。
例如,通過ps–ef|more命令來查看哪些進程在運行及運行狀態。如進程是否結束、是否有僵死的進程,以及哪些進程佔用了過多的資源等。
3、監測記憶體使用量情況
系統在運行中,由於實體記憶體經常會不夠用,所以,需要通過虛擬記憶體來解決這個問題。
虛擬記憶體通過在各個進程之間共用內在而使系統看起來有多於實際記憶體的記憶體容量。Linux系統支援虛擬記憶體即使用磁碟作為RAM的擴充,使可用記憶體擴大。
(1)、即時監控記憶體使用量情況 在Linux系統中,一般用free命令來監控記憶體的使用方式
(2)、監視虛擬記憶體使用方式 用vmstat命令可以監測系統的虛擬記憶體、進程及CPU的活動情況。
# vmstat 3 3
4、監測CPU使用方式
在Linux系統中,用於監測CPU使用方式的工具有top和mpstat。
5、監測I/O效能
在Liinux系統中,可以用iostat命令來監測磁碟的I/O的效能。但是,iostat命令只能分析的整體情況。 查看/dev/hdb6分區的I/O詳細情況。
# iostat -x /dev/hdb6
6、使用cat /proc/stat命令
# cat /proc/stat cpu 16015 1353 28840 101677 3602 664 4323 cpu0 16015 1353 28840 101677 3602 664 4323 intr 1605646 1565008 52 0 4 4 0 6 0 1 8664 296 16675 1418 0 0 13518 ctxt 617320 btime 1178342189 processes 4236 procs_running 2 procs_blocked 0
說明:
cat /proc/stat命令是包含核心統計量,提供以下資料:
CPU 以及CPU0、每行的每個參數意思(以第一行為例)為:
- user (432661) 從系統啟動開始累計到當前時刻,使用者態的CPU時間(單位:jiffies) ,不包含 nice值為負進程。
- 1 jiffies=0.01秒
- nice (13295) 從系統啟動開始累計到當前時刻,nice值為負的進程所佔用的CPU時間(單位:jiffies)
- system (86656) 從系統啟動開始累計到當前時刻,核心時間(單位:jiffies)
- idle (422145968) 從系統啟動開始累計到當前時刻,除硬碟IO等待時間以外其它等待時間(單位:jiffies)
- iowait (171474) 從系統啟動開始累計到當前時刻,硬碟IO等待時間(單位:jiffies) ,
7、sar
Sar命令收集,查看和記錄效能資料,這個命令比前面幾個命令曆史更悠久,它可以收集和顯示較長周期的資料。
8、6款系統監控工具
1.htop—— http://htop.sourceforge.net/ 一個可以讓使用者與之互動的進程查看器。作為文字模式的應用程式,主要用於控制台或 X 終端中。當前具有按樹狀方式來查看進程,支援顏色主題,可以定製等特性。
2.dstat —— http://dag.wieers.com/home-made/dstat/ 一個用來替換vmstat, iostat, netstat, nfsstat 和ifstat 這些命令的工具,是一個全能系統資訊統計工具。
3.BMon——http://freshmeat.net/projects/bmon/ 一個便於使用的軟體,該軟體可以協助您監測藍牙裝置。
4.Iftop——http://www.ex-parrot.com/pdw/iftop/ 主要用來顯示本機網路流量情況及各相互連信的流量集合,如單獨同那台機器間的流量大小,非常適合於Proxy 伺服器和iptables伺服器使用
.ifstat——http://gael.roualland.free.fr/ifstat/ 一個非常不錯的檢測網路活動狀態的軟體
6.Sysstat——http://pagesperso-orange.fr/sebastien.godard/ 包含監測系統效能及效率的一組工具,這些工具對於我們收集系統效能資料,比如CPU使用率、硬碟和網路吞吐資料,這些資料的收集和分析,有利於我們判斷系統是否正常運行,是提高系統運行效率、安全運行伺服器的得力助手。
原文來自:http://www.lupaworld.com/forum.php?mod=viewthread&tid=65263