Linux中提供了一個非常好的文件虛擬系統(/proc)來對系統性能進行監控。 /proc文件虛擬系統是一種內核和內核模塊用來向進程發送信息的機制。它存在於內存而不是硬盤中。 /proc文件虛擬系統的主要功能,可以監控到包括進程信息、系統信息、CPU信息、負載信息、系統內存信息等等。
1、監測系統負載
1.使用uptime命令可以查看系統負載,系統平均負載是指在特定時間間隔內運行隊列中的平均進程數目。如果一個進程沒有在等待I/O操作的結果並主動進入運行狀態,則其位於運行隊列之中。
# uptime 15: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/loadavg 0.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 這些命令的工具,是一個全能系統信息統計工具。(綜合顯示cpu、內存、io、網卡等信息,比較實用。)
3.BMon——http://freshmeat.net/projects/bmon/ 一個易於使用的軟件,該軟件可以幫助您監測藍牙設備。
4.Iftop——http://www.ex-parrot.com/pdw/iftop/ 主要用來顯示本機網絡流量情況及各相互通信的流量集合,如單獨同那臺機器間的流量大小,非常適合於代理服務器和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