linux系統資源監控
㈠ 如何使用Nmon監控linux系統性能
用Nmon監控Linux系統性能的方法請參見下面介紹(配圖):
1、安裝Nmon
2、一旦安裝完成,則可以通過在終端執行nmon命令啟動它。
Nmon命令執行之後,大家可以看到如下輸出:
以上是基礎使用方法。下面再補充一些命令和方法:
1、啟動
打開nmon所在的目錄:cd/usr/local/nmon
修改啟動文件的訪問許可權:chmod755nmon_x86_rhel52
啟動nmon:./nmon_x86_rhel52
如果要采樣nmon的數據保存成文件,可以
./nmon_x86_rhel52-fT-s30-c120
其中30表示每隔30秒nmon取一次系統性能數據,120表示取120次;
這樣nmon將會在運行開始算起連續取得30sX120=60分鍾,可根據實際需要時間調整;當運行以上命令後該目錄下會生成一個.nmon文件,該文件會根據間隔時間被寫入性能數據,當一段時間後再查看該文件,文件位元組變大
利用nmonanalyser分析.nmon文件
當測試結束的同時ftp到伺服器上將.nmon文件get下來,
打開nmon_analyser.zip包下的nmonanalyserv338.xls文件,點擊Analysenomndata按鈕,選擇之前get來下的.nmon文件。
(如果報告以下宏的安全級別太高錯誤,則在「工具--宏--安全性」里把級別調低,然後重新打開nmonanalyserv338.xls文件)
待分析結束後會生成性能分析結果文件(文件格式為.xls,其中包括CPU,IO,內存等性能分析報告)。
分析結果中有很多數據和圖形,簡要介紹主要的性能參數圖像
4.1系統匯總(對應excel標簽的『SYS_SUMM』)
藍線為cpu佔有率變化情況;
粉線為磁碟IO的變化情況;
4.2磁碟讀寫情況匯總(對應excel標簽的『DISK_SUMM』)
藍色為磁碟讀的速率KB/sec
紫色為磁碟寫的速率KB/sec
4.3內存情況匯總(對應excel標簽的『MEM』)
曲線表示內存剩餘量(MB)
分析數據得到的報告文件(.xls)中包含很多性能分析結果數據,根據自己的需要查看。
2、nmon運行本身就消耗系統資源的;
另外如果取到.nmon文件後確定不再需要nmon繼續收集信息則應kill掉nmon;
命令:
ps-A|grepnmon#得到pid
kill-9pid
suse10enterprisesp2:
nmon_x86_rhel3
使用對應的操作系統文件:
chmod+xnmon_x86_ubuntu810
mvnmon_x86_ubuntu810/usr/local/bin/nmon
對於Debian還要做以下操作(不做也同樣能運行):
apt-getinstalllsb-release
lsb_release-d|sed's/Description: //'>/etc/debian_release
然後直接運行nmon即可。
採集數據並生成報表:
採集數據:
nmon-s10-c60-f-m/home/
參數解釋:
-s10每10秒採集一次數據。
-c60採集60次,即為採集十分鍾的數據。
-f生成的數據文件名中包含文件創建的時間。
-m生成的數據文件的存放目錄。
這樣就會生成一個nmon文件,並每十秒更新一次,直到十分鍾後。
生成的文件名如:hostname_090824_1306.nmon,"hostname"是這台主機的主機名。
生成報表:
下載nmonanalyser(生成性能報告的免費工具):
http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser
把之前生成的nmon數據文件傳到Windows機器上,用Excel打開分析工具nmonanalyserv33C.xls。點擊Excel文件中的"Analyzenmondata"按鈕,選擇nmon數據文件,這樣就會生成一個分析後的結果文件:hostname_090824_1306.nmon.xls,用Excel打開生成的文件就可以看到結果了。
如果宏不能運行,需要做以下操作:
工具->宏->安全性->中,然後再打開文件並允許運行宏。
自動按天採集數據:
在crontab中增加一條記錄:
00***rootnmon-s300-c288-f-m/home/>/dev/null2>&1
300*288=86400秒,正好是一天的數據。
采樣文件越來越大:
[email protected].***:~/nmon#./nmon-s1-c33-f
[email protected].***:~/nmon#
[email protected].***:~/nmon#-sh*
8.0KAD39_***_sles10_101207_1046.nmon
160Knmon
[email protected].***:~/nmon#-sh*
12KAD39_***_sles10_101207_1046.nmon
160Knmon
[email protected].***:~/nmon#-sh*
16KAD39_***_sles10_101207_1046.nmon
160Knmon
[email protected].***:~/nmon#-sh*
20KAD39_***_sles10_101207_1046.nmon
160Knmon
[email protected].***:~/nmon#-sh*
20KAD39_***_sles10_101207_1046.nmon
160Knmon
註:以上一些機器名稱或系統名稱,請根據實際情況自行調整及修改。
㈡ Linux系統完整性監控開源軟體推薦(linux伺服器監控軟體)
1.開源網路監控工具:NetXMS
NetXMS提供了企業級開源網路管理和監控程序,它在Windows和Linux上有一個簡單的用戶界面。
NetXMS通過相對簡單的安裝過程為IT基礎架構的所有層提供了分布式網路監控、自動化網路發現和詳細報告。
此外,伺服器設備和代理對於這樣一個全面的產品來說是相當輕量級的。
2.開源網路監控工具:PandoraFMS
定位於企業級,PandoraFMS提供了一個時尚且整潔的用戶體驗,提供了易於閱讀的快速洞察工具以及重要的網路統計信息,例如網路狀態、已上報的告警、已部署的代理數量和其他最近執行任務的列表。
PandoraFMS可以在無需外部訪問的情況下執行網路診斷,這意味著用戶可以更快地響應任何網路問題。事實上,FMS聲稱,在代理模式下的器監控系統響應速度約為10秒。
3.開源網路監控工具:Cacti
最初發布於2001年,Cacti是一款開源的基於Web的網路監控和專為數據記錄而設計的圖形化工具。它可以用於實時顯示網路數據,如CPU負載或帶寬利用率。
Cacti是RRDtool的前端應用程序,RRDtool是一種用於存儲實時變化數據的開源資料庫工具,其使用SNMP作為其默認收集演算法,但如果你喜歡本地Perl的php腳本,那麼讓仿宏你也可以使用它們。
其最新版本0.8.8h於2016年5月發布,主要功能包括無限圖形項目、圖形自動填充支持、圖形數據處理、自定義數據採集腳本、內置SNMP支持、圖形模板、數據源模板、主機模板和基於用戶的管理。
4.開源網路監控工具:GroundWorkMonitorCore
GroundWorkMonitorCore是監控網路、應用和雲計算使用情況的平台。開源版本包含最多可監控50個設備和基於社區的支持的許可證,該軟體還有其對應的商業版本。
在其網路管理功能方面,GroundWork提供網路和設備的自發現和維護、拓撲、報警控制、通過API/SNMP/IPMI的數據收集和對SDN的支持等功能。
GroundWork還提供了存儲管理,支持大規模的企業級供應商,如NetApp和EMC,以及從磁碟、塊或對象存儲的數據收集和存儲緩沖以及中斷可視化。
由於GroundWork的一站式網路管理方法,這種套件可能更適合那些尋找成熟品牌的大型商業和企業,而不是以開發人員為重點的工具,如BigBrother或BigSister。
5.開源網路監控工具:Hyperic
VMware的Hyperic工具用於在物理、虛擬或雲環境下監控Web應用程序及其性能。它適用於應用程序伺服器,web伺服器,資料庫,操作系統,虛擬機管理程序,消息傳遞服務和目錄伺服器。
Hyperic提供基礎架構和操作系統監控,詳細的報告,應用程序和中間件監控,警報和修復工作流程以及通用可擴展的API。
該網路監控工具提供了企業版本,可以提高網路警報功能,並且能更好地創建基準。
6.開源網路監控工具:Observium
基於Linux的Observium是一個自動監測的網路監控工具。據該網站介紹,「該工具是由一批經驗豐富的專業網路工程師和系統管理員開發和維護的,Observium是一個由用戶自己設計和構建的平台。」
Observium提坦冊供社區版本和專業版,使用RRDTool進行緩沖存儲和圖形化功能,並具有易於使用的用戶界面和報告功能。但是,它沒有報告導出功能,這可能對商務應用來講會是一個問題。
社區版本將為用戶提供對所有支持設備或指標的完整自動監測功能,通過自動發現協議進行網路映射,自動識別數百種設備,並且每六個月發布一個新版本。
而專業版用戶將獲得所有社區版本的功能並且還將獲得實時軟體更新和修復功能,基於規則的自動分組功能,網路閾值和狀態警報系統以及流量統計系統。
7.開源網路監控工具:Zabbix
Zabbix作為企業級的網路監控工具,通過從伺服器,虛擬機和網路設備收集的數據提供實時大世監控,自動發現,映射和可擴展等功能。
Zabbix的企業級監控軟體為用戶提供內置的Java應用伺服器監控,硬體監控,VMware監控和CPU,內存,網路,磁碟空間性能監控。
㈢ 有什麼監控Linux伺服器的工具嗎
1、Ganglia
是一個集群監控軟體,可以監視和顯示集群中的節點的各種狀態信息,比如:CPU、mem、硬碟利用率、I/O負載、網路流量情況等,同時可以將歷史數據以曲線方式通過php頁面呈現,此軟體主要是用來監控系統性能的軟體,通過曲線可以很容易見到每個節點的工作狀態,對合理調整、分配系統資源,提高系統整體性能起到重要作用。
它是分布式的監控系統,有兩個Daemon,是一個Linux下圖形化監控系統運行性能的軟體,界面美觀、豐富,功能強大。
RRDtool是系統存放和顯示time-series (即網路帶寬、溫度、人數、伺服器負載等) 。並且它提出有用的圖表由處理數據強制執行有些數據密度。
2、Cacti
是一套基於PHP、MySQL、SNMP及RRDTool開發的網路流量監測圖形分析工具,通過snmpget來獲取數據,使用RRDTool繪畫圖形,提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結 構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。
cacti是用php語言實現的一個軟體,它的主要功能是用snmp服務獲取數據,然後用rrdtool儲存和更新數據,當用戶需要查看數據的時候用rrdtool生成圖表呈現給用戶。因此,snmp和rrdtool是cacti的關鍵。
3、Zenoss
是一款智能監控軟體,允許IT管理員依靠單一的WEB控制台來監控網路架構的狀態和健康度。Zenoss Core同時也是開源的網路與系統管理軟體。
Zenoss提供功能豐富的產品,以監測整個IT基礎設施:
網路 -路由器,交換機,防火牆,接入點;
伺服器 -微軟的Windows , Linux , Unix系統,惠普, NetApp,戴爾;
虛擬化 -完整虛擬機虛擬化基礎架構( VI3 )管理, XenSource監測;
應用領域 -Process(程序),Port,網路應用服務, Web服務,資料庫,中間件,商業企業應用方案 ;
4、Argus
是一個網路連接監控器,可以利用它來定製監控網路中符合某種條件的計算機,例如網路空閑、斷開等。
5、Monit
是一款功能非常豐富的進程、文件、目錄和設備的監測軟體,用於UNIX平台,可以自動修復那些已經停止運行的程序,適合處理那些由於多種原因導致的軟體錯誤。
6、Nagios
是一個監視系統運行狀態和網路信息的監視系統,能監視所指定的本地或遠程主機以及服務,同時提供異常通知功能等Nagios可運行在Linux/Unix平台之上,同時提供一個可選的基於瀏覽器的WEB界面以方便系統管理人員查看網路狀態,各種系統問題,以及日誌等等。
Nagios的主要功能特點:
監視網路服務(SMTP、POP3、HTTP、NNTP、PING等);
監視主機資源(進程、磁碟等);
簡單的插件設計可以輕松擴展Nagios的監視功能;
服務等監視的並發處理;
錯誤通知功能(通過email、pager或其他用戶自定義的方法)。
㈣ 如何靈活運用Linux 進程資源監控和進程限制
你可以使用 mpstat 單獨查看每個處理器或者系統整體的活動,可以是每次一個快照或者動態更新。
為了使用這個工具,你首先需要安裝 sysstat:
# yum update && yum install sysstat [基於 CentOS 的系統]
# aptitutde update && aptitude install sysstat [基於 Ubuntu 的系統]
# zypper update && zypper install sysstat [基於 openSUSE 的系統]
你可以在 Linux 中學習 Sysstat 和其中的工具 mpstat、pidstat、iostat 和 sar,了解更多和 sysstat 和其中的工具相關的信息。
安裝完 mpstat 之後,就可以使用它生成處理器統計信息的報告。
你可以使用下面的命令每隔 2 秒顯示所有 CPU(用-P ALL 表示)的 CPU 利用率(-u),共顯示3次。
# mpstat -P ALL -u 2 3
示例輸出:
Linux 3.19.0-32-generic (tecmint.com) Wednesday 30 March 2016 _x86_64_ (4 CPU)
11:41:07 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:41:09 IST all 5.85 0.00 1.12 0.12 0.00 0.00 0.00 0.00 0.00 92.91
11:41:09 IST 0 4.48 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 94.53
11:41:09 IST 1 2.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 97.00
11:41:09 IST 2 6.44 0.00 0.99 0.00 0.00 0.00 0.00 0.00 0.00 92.57
11:41:09 IST 3 10.45 0.00 1.99 0.00 0.00 0.00 0.00 0.00 0.00 87.56
11:41:09 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:41:11 IST all 11.60 0.12 1.12 0.50 0.00 0.00 0.00 0.00 0.00 86.66
11:41:11 IST 0 10.50 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 88.50
11:41:11 IST 1 14.36 0.00 1.49 2.48 0.00 0.00 0.00 0.00 0.00 81.68
11:41:11 IST 2 2.00 0.50 1.00 0.00 0.00 0.00 0.00 0.00 0.00 96.50
11:41:11 IST 3 19.40 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 79.60
11:41:11 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:41:13 IST all 5.69 0.00 1.24 0.00 0.00 0.00 0.00 0.00 0.00 93.07
11:41:13 IST 0 2.97 0.00 1.49 0.00 0.00 0.00 0.00 0.00 0.00 95.54
11:41:13 IST 1 10.78 0.00 1.47 0.00 0.00 0.00 0.00 0.00 0.00 87.75
11:41:13 IST 2 2.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 97.00
11:41:13 IST 3 6.93 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 92.57
Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
Average: all 7.71 0.04 1.16 0.21 0.00 0.00 0.00 0.00 0.00 90.89
Average: 0 5.97 0.00 1.16 0.00 0.00 0.00 0.00 0.00 0.00 92.87
Average: 1 9.24 0.00 1.16 0.83 0.00 0.00 0.00 0.00 0.00 88.78
Average: 2 3.49 0.17 1.00 0.00 0.00 0.00 0.00 0.00 0.00 95.35
Average: 3 12.25 0.00 1.16 0.00 0.00 0.00 0.00 0.00 0.00 86.59
要查看指定的 CPU(在下面的例子中是 CPU 0),可以使用:
# mpstat -P 0 -u 2 3
示例輸出:
Linux 3.19.0-32-generic (tecmint.com) Wednesday 30 March 2016 _x86_64_ (4 CPU)
11:42:08 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:42:10 IST 0 3.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 96.50
11:42:12 IST 0 4.08 0.00 0.00 2.55 0.00 0.00 0.00 0.00 0.00 93.37
11:42:14 IST 0 9.74 0.00 0.51 0.00 0.00 0.00 0.00 0.00 0.00 89.74
Average: 0 5.58 0.00 0.34 0.85 0.00 0.00 0.00 0.00 0.00 93.23
上面命令的輸出包括這些列:
CPU: 整數表示的處理器號或者 all 表示所有處理器的平均值。
%usr: 運行在用戶級別的應用的 CPU 利用率百分數。
%nice: 和 %usr相同,但有 nice 優先順序。
%sys: 執行內核應用的 CPU 利用率百分比。這不包括用於處理中斷或者硬體請求的時間。
%iowait: 指定(或所有)CPU 的空閑時間百分比,這表示當前 CPU 處於 I/O 操作密集的狀態。
%irq: 用於處理硬體中斷的時間所佔百分比。
%soft: 和%irq相同,但是是軟中斷。
%steal: 虛擬機非自主等待(時間片竊取)所佔時間的百分比,即當虛擬機在競爭 CPU 時所從虛擬機管理程序那裡「贏得」的時間。應該保持這個值盡可能小。如果這個值很大,意味著虛擬機正在或者將要停止運轉。
%guest: 運行虛擬處理器所用的時間百分比。
%idle: CPU 沒有運行任何任務所佔時間的百分比。如果你觀察到這個值很小,意味著系統負載很重。在這種情況下,你需要查看詳細的進程列表、以及下面將要討論的內容來確定這是什麼原因導致的。
運行下面的命令使處理器處於極高負載,然後在另一個終端執行 mpstat 命令:
# dd if=/dev/zero of=test.iso bs=1G count=1
# mpstat -u -P 0 2 3
# ping -f localhost # Interrupt with Ctrl + C after mpstat below completes
# mpstat -u -P 0 2 3
最後,和 「正常」 情況下 mpstat 的輸出作比較:
正如你在上面圖示中看到的,在前面兩個例子中,根據%idle的值可以判斷 CPU 0 負載很高。
在下一部分,我們會討論如何識別資源飢餓型進程,如何獲取更多和它們相關的信息,以及如何採取恰當的措施。
Linux 進程報告
我們可以使用有名的ps命令,用-eo選項(根據用戶定義格式選中所有進程) 和--sort選項(指定自定義排序順序)按照 CPU 使用率排序列出進程,例如:
# ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu
上面的命令只會顯示PID、PPID、和進程相關的命令、 CPU 使用率以及 RAM 使用率,並按照 CPU 使用率降序排序。創建 .iso 文件的時候運行上面的命令,下面是輸出的前面幾行:
一旦我們找到了感興趣的進程(例如PID=2822的進程),我們就可以進入/proc/PID(本例中是/proc/2822) 列出目錄內容。
這個目錄就是進程運行的時候保存多個關於該進程詳細信息的文件和子目錄的目錄。
例如:
/proc/2822/io:包括該進程的 IO 統計信息(IO 操作時的讀寫字元數)。
/proc/2822/attr/current:顯示了進程當前的 SELinux 安全屬性。
/proc/2822/cgroup:如果啟用了 CONFIGCGROUPS 內核設置選項,這會顯示該進程所屬的控制組(簡稱cgroups),你可以使用下面命令驗證是否啟用了 CONFIGCGROUPS:
# cat /boot/config-$(uname -r) | grep -i cgroups
如果啟用了該選項,你應該看到:
CONFIG_CGROUPS=y
根據紅帽企業版 Linux 7 資源管理指南第一到四章的內容、openSUSE 系統分析和調優指南第九章、Ubuntu 14.04 伺服器文檔Control Groups 章節,你可以使用cgroups管理每個進程允許使用的資源數目。
/proc/2822/fd這個目錄包含每個打開的描述進程的文件的符號鏈接。下面的截圖顯示了 tty1(第一個終端) 中創建 .iso 鏡像進程的相關信息:
上面的截圖顯示 stdin(文件描述符 0)、stdout(文件描述符 1)、stderr(文件描述符 2) 相應地被映射到 /dev/zero、 /root/test.iso 和 /dev/tty1。
在 Linux 中為每個用戶設置資源限制
如果你不夠小心、讓任意用戶使用不受限制的進程數,最終你可能會遇到意外的系統關機或者由於系統進入不可用的狀態而被鎖住。為了防止這種情況發生,你應該為用戶可以啟動的進程數目設置上限。
你可以在 /etc/security/limits.conf 文件末尾添加下面一行來設置限制:* hard nproc 10
第一個欄位可以用來表示一個用戶、組或者所有人(*), 第二個欄位強制限制可以使用的進程數目(nproc) 為 10。退出並重新登錄就可以使設置生效。
然後,讓我們來看看非 root 用戶(合法用戶或非法用戶) 試圖引起 shell fork 炸彈時會發生什麼。如果我們沒有設置限制, shell fork 炸彈會無限制地啟動函數的兩個實例,然後無限循環地復制任意一個實例。最終導致你的系統卡死。
但是,如果使用了上面的限制,fort 炸彈就不會成功,但用戶仍然會被鎖在外面直到系統管理員殺死相關的進程。
提示:limits.conf文件中可以查看其它 ulimit 可以更改的限制。
其它 Linux 進程管理工具
除了上面討論的工具, 一個系統管理員還可能需要:
a) 通過使用 renice 調整執行優先順序(系統資源的使用)。這意味著內核會根據分配的優先順序(眾所周知的 「niceness」,它是一個范圍從-20到19的整數)給進程分配更多或更少的系統資源。
這個值越小,執行優先順序越高。普通用戶(而非 root)只能調高他們所有的進程的 niceness 值(意味著更低的優先順序),而 root 用戶可以調高或調低任何進程的 niceness 值。
renice 命令的基本語法如下:
# renice [-n] <new priority> <UID, GID, PGID, or empty> identifier
如果 new priority 後面的參數沒有(為空),默認就是 PID。在這種情況下,PID=identifier 的進程的 niceness 值會被設置為<new priority>
b) 需要的時候中斷一個進程的正常執行。這也就是通常所說的「殺死」進程。實質上,這意味著給進程發送一個信號使它恰當地結束運行並以有序的方式釋放任何佔用的資源。
按照下面的方式使用 kill 命令殺死進程:
# kill PID
另外,你也可以使用pkill結束指定用戶(-u)、指定組(-G), 甚至有共同的父進程 ID (-P)的所有進程。這些選項後面可以使用數字或者名稱表示的標識符。
# pkill [options] identifier
例如:
殺死組GID=1000的所有進程.
# pkill -G 1000
殺死PPID 是 4993的所有進程.
# pkill -P 4993
在運行pkill之前,先用pgrep測試結果、或者使用-l選項列出進程名稱是一個很好的辦法。它需要和pkill相同的參數、但是只會返回進程的 PID(而不會有其它操作),而pkill會殺死進程。
# pgrep -l -u gacanepa
㈤ 開源的linux運維監控工具有哪些
企業里的IT設備復雜,且管理人員較少,用開源的很難滿足需求。大型的商業化監控軟體很容易超出企業的預算。可以用些專業的運維設備如蟻巡運維平台來方便、統一的監控機房裡的設備的運行狀況。
㈥ 如何監控linux空間
Linux系統中需要監控磁碟各分區的使用情況,避免由於各種突發情況,造成磁碟空間被消耗殆盡的情況,例如某個分區被Oracle的歸檔日誌耗盡,導致後續的日誌文件無法歸檔,這時ORACLE資料庫就會出現錯誤。監控磁碟空間的使用情況,其實有許多工具,例如Nagios等,其實最簡單的還是使用Shell腳本。下面就介紹一下如何通過Shell腳本和Crontab作業結合來實現對磁碟空間的監控、告警。
一般查看磁碟各分區的使用情況可以通過df命令來查看,網上有兩種獲取磁碟使用百分比的Shell腳本。
1:df -h | grep /dev | awk '{print $5}' | cut -f 1 -d "%"
2:df -h | grep /dev | awk '{print $5}' | sed 's/%//g'
但是這兩個命令還是有些bug,例如如下截圖所示:當顯示內容過長,導致換行時。此時上面的Shell腳本就無法獲取其值。
㈦ 如何監視Linux系統資源的使用情況
如何監視Linux系統資源的使用情況
虛擬終端 命令 free
命令
可以用網路搜索
你值得擁有:25 個 Linux 性能監控工具
裡面有一些其它的好工具。
命令、uptime、free
參看::wenku../link?url=-_YXSztvNvIykFJ_C
Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使
雖然說Linux操作系統要比Windows操作系統穩定的多。但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使用情況。筆者今天就給大家介紹一下,褲彎帶在Linux操作系統下如何監視這個系統資源,做到心中有數。
在Windows操作系統中,可以通過任務管理器來查詢各個進程所佔用的CPU與內存的比率。在Linux操作系統中沒有這種圖形化的管理。在命令行模式下,鍵入命令,即可以看到各個進程所佔用的系統資源。
ppp作為一個合格的系統管理員,出於系統性能優化或者其他方面的考慮,往往需要掌握系統中最消耗CPU或者內存資源的程序。為了達到這個目的,系統管理員就需要藉助系統提供的命令。這個命令可以幫助管理員監控系統資源的使用情況,包括內存、CPU、交換文件分區的使用率等等。就是這個命令的執行結果。系統管理員想要提升操作系統的性能,第一步就是需要讀懂上面這張表格。如果這種圖中的內容系統管理員無法看懂,那麼他就想提升系統的性能根本無法入手。
Top命令的運行結果大致可以分為兩個部分。上半部是使一些統計的信息,包括內存和交換分區的使用情況、CPU的運行情況、進程的總數等等。在這些統計信息中,系統管理員除了要關注這些重要資源的使用濾外,還需要注意進程運行的狀態。可見在Linux系統中進程的狀態主要有四種,分別為running、sleeping、sped和zombie。如果從系統維護與性能優化考慮,則系統管理員需要關注那些狀態為zombie的進程。若進程處於這個狀態,在Linux操作系統中叫做僵屍進程。什麼叫做僵屍進程呢?就是那些父進程還沒死、但鬧滑是子進程卻死了的進程。在Linux操作系統中,進程一般分為父進程和子進程。某個進程A可能會調用另外一個進程B。此時這個進程A就叫做父進程,而進程B就叫做子進程。由於一些意外的情況,子進程運行已經停止,但是父進程卻還不知道子進程早已停止運行,還在那邊傻傻的等待著子進程返回運行結果。由於子進程沒有返回結果,則父進程可能一直會在那邊等待。從而導致系統性能的下降。如果系統管理員發現有僵屍進程的話,首先要做的就是結束父進程(有時候還需要查看這個父進程打開的其他子進程運行情況),以釋放其佔用的系統資源。其次如果這種情況發生的比較頻繁時,則系統管理員就需要分析到底是什麼原因導致這種情況發生的。找到原因後要採取積極的措施。通常情況下,如果子進程的狀態為僵屍時,父進程就不會自動結束,從而其佔用的系統資源就不會自動釋放,從而降低操作系統的性能。
二、Top命令的使用技巧。
1、 選擇合適的排序順序。
在Windows操作系統的任務管理器中,管理員可以根據需要選擇合適的排序順序,如按CPU排序或者按內存的使用率進行排序。而在命令的顯示結果中,默認情況下是按照CPU的使用率來進行排序的。如果現在系統管理員想按照內存使用率來排序,該如何處理呢?如果要想改變命令結果的排序順序,則可以按m鍵來按內存進行排序。注意這里的m是小寫,而不是大寫的。在Linux操作系統中大部分命令與參數大小胡蘆寫都是敏感的。這跟微軟操作系統中的DOS命令不同。Dos命令是不區分大小寫的。雖然這個排序沒有像微軟操作系統中的任務管理器那麼方便,只需要點點滑鼠就可以完成排序。但是只要熟悉相關的命令,在命令行中對其排序沒有大家想想的那麼困難。
2、 監視特定用戶使用的資源情況。
在Windows操作系統中,如果想要查看特定帳戶所打開的進程以及所耗用的系統資源,操作非常簡單。只需要打開系統任務管理器,然後按照用戶來進行排序。就可以知道某個用戶開啟了哪些進程以及所佔用的比例。而在命令中,沒有按帳戶進行排序的功能。即在上面這個顯示結果中,只可以按照內存使用率或者CPU負載來進行排序,而無法按照用戶來進行排序。在同一個結果中夾雜著系統特權用戶root與普通用戶所打開的進程。這對於系統管理員查找問題原因非常的不方便。有時候系統管理員往往需要只查看特定用戶的進程,如只需要查看oracle帳戶所打開的進程以及所佔用的系統資源。而忽略掉系統帳戶。因為特權帳戶其他用戶無權進行登陸操作,而其運行的往往是一些系統級別的進程,為此一般不會出現問題。而普通用戶可以運行一些應用程序。有時候他們糊里糊塗可能會打開一些非法程序,佔用大量的系統資源,從而降低系統性能。廢話少說,如何才能夠查看特定帳戶所啟動的進程呢?其實很簡單。現運行 命令,讓系統統計所有帳戶的進程。然後在需要查看特定帳戶的進程使,只需要按u鍵(注意小寫),然後輸入用戶名即可。此時系統會自動把其他帳戶的進程過濾掉,方便系統管理員查看。按用戶過濾後,仍然可以按m鍵來對現實的結果進行過濾。如果在一開始就需要查看某個特定用戶的進程,那麼只需要直接在 命令後面加入-u可選項然後帶上具體的用戶名即可。但是,此時如果再想查看全部用戶的話,那麼只有先推出命令,然後再利用命令不帶任何選項,來查看所有用戶的進程。或者說,再在這個窗口中輸入字元u,然後直接按回車鍵,也可以顯示所用用戶的進程信息。
3、動態統計信息。
使用命令來統計進程的運行信息,跟微軟操作系統的任務管理器一樣,都是動態調整的。也就是說,系統會每隔一段時間去統計這個信息,然後動態的顯示在窗口中。不需要用戶手工去更新相關的信息。而且從上面的圖形中可以看出,命令統計的信息要比微軟任務管理器統計的信息要多的多。所以對系統管理員來說,具有更大的參考價值。筆者以前也很喜歡採用微軟操作系統的任務管理器。而了解了命令後,就對其鍾愛有加了。因為其不僅可以完成任務管理器中的所有功能。而且命令中有的信息在微軟任務管理器中卻無法顯示。而這些信息往往對我們維護系統、提升性能具有很大的參考價值。
4、刪除有異常的進程。
如果這個窗口中,發現某些進程有異常或者用戶執行了規定以外的應用程序,如佔用了太多的系統資源或者有僵屍進程的存在,則可以直接在這個窗口中講其刪除。操作的方法很簡單,只需要在這個窗口內輸入字元p,然後系統會提示系統管理員輸入要關閉進程的PID。管理員只需要鍵入這個值,然後按回車鍵就可以殺掉不需要的進程。不過在關閉進程的時候,有許可權的限制。系統特權帳戶root可以關閉所有用戶的進程。而普通帳戶則只能夠刪除自己打開的程序,而無法關閉其他用戶的進程。如現在系統管理員先以oracle用戶登錄,發現root帳戶下某個進程異常,想要關閉時,系統會提示無法關閉的錯誤信息。此時管理員必須先終止這個進程,然後利用su命令更改登陸的帳戶。然後再關閉這個異常的進程。系統管理員可以同時關閉多個進程。方法很簡單,就是同時輸入多個需要關閉的進程號。在各個進程號之間需要利用逗號隔開。
在系統維護中是一個很有用的命令。除了可以實現如上的功能外,還可以設置其動態更新的時間間隔等等。不過需要注意的是,在不同版本的 Linux系統中其功能稍有差異,而且其顯示的布局與內容也有所不同。為此當系統管理員維護其不怎麼熟悉的版本時,有時候需要查看系統的幫助說明。此時只需要在命令後面加上?號就可以獲得相關的幫助。這個聯機幫助文檔根命令一樣,都是系統管理員的好幫手。不過可惜的是,現在這些在線幫助文檔都是英文的。所以這對系統管理員的英文說明要求比較高。
Linux系統下如何監視系統資源使用率求解答
但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使
雖然說Linux操作系統要比Windows操作系統穩定的多。但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使用情況。筆者今天就給大家介紹一下,在Linux操作系統下如何監視這個系統資源,做到心中有數。
在Windows操作系統中,可以通過任務管理器來查詢各個進程所佔用的CPU與內存的比率。在Linux操作系統中沒有這種圖形化的管理。在命令行模式下,鍵入命令,即可以看到各個進程所佔用的系統資源。
ppp作為一個合格的系統管理員,出於系統性能優化或者其他方面的考慮,往往需要掌握系統中最消耗CPU或者內存資源的程序。為了達到這個目的,系統管理員就需要藉助系統提供的命令。這個命令可以幫助管理員監控系統資源的使用情況,包括內存、CPU、交換文件分區的使用率等等。就是這個命令的執行結果。系統管理員想要提升操作系統的性能,第一步就是需要讀懂上面這張表格。如果這種圖中的內容系統管理員無法看懂,那麼他就想提升系統的性能根本無法入手。
Top命令的運行結果大致可以分為兩個部分。上半部是使一些統計的信息,包括內存和交換分區的使用情況、CPU的運行情況、進程的總數等等。在這些統計信息中,系統管理員除了要關注這些重要資源的使用濾外,還需要注意進程運行的狀態。可見在Linux系統中進程的狀態主要有四種,分別為running、sleeping、sped和zombie。如果從系統維護與性能優化考慮,則系統管理員需要關注那些狀態為zombie的進程。若進程處於這個狀態,在Linux操作系統中叫做僵屍進程。什麼叫做僵屍進程呢?就是那些父進程還沒死、但是子進程卻死了的進程。在Linux操作系統中,進程一般分為父進程和子進程。某個進程A可能會調用另外一個進程B。此時這個進程A就叫做父進程,而進程B就叫做子進程。由於一些意外的情況,子進程運行已經停止,但是父進程卻還不知道子進程早已停止運行,還在那邊傻傻的等待著子進程返回運行結果。由於子進程沒有返回結果,則父進程可能一直會在那邊等待。從而導致系統性能的下降。如果系統管理員發現有僵屍進程的話,首先要做的就是結束父進程(有時候還需要查看這個父進程打開的其他子進程運行情況),以釋放其佔用的系統資源。其次如果這種情況發生的比較頻繁時,則系統管理員就需要分析到底是什麼原因導致這種情況發生的。找到原因後要採取積極的措施。通常情況下,如果子進程的狀態為僵屍時,父進程就不會自動結束,從而其佔用的系統資源就不會自動釋放,從而降低操作系統的性能。
二、Top命令的使用技巧。
1、 選擇合適的排序順序。
在Windows操作系統的任務管理器中,管理員可以根據需要選擇合適的排序順序,如按CPU排序或者按內存的使用率進行排序。而在命令的顯示結果中,默認情況下是按照CPU的使用率來進行排序的。如果現在系統管理員想按照內存使用率來排序,該如何處理呢?如果要想改變命令結果的排序順序,則可以按m鍵來按內存進行排序。注意這里的m是小寫,而不是大寫的。在Linux操作系統中大部分命令與參數大小寫都是敏感的。這跟微軟操作系統中的DOS命令不同。Dos命令是不區分大小寫的。雖然這個排序沒有像微軟操作系統中的任務管理器那麼方便,只需要點點滑鼠就可以完成排序。但是只要熟悉相關的命令,在命令行中對其排序沒有大家想想的那麼困難。
2、 監視特定用戶使用的資源情況。
在Windows操作系統中,如果想要查看特定帳戶所打開的進程以及所耗用的系統資源,操作非常簡單。只需要打開系統任務管理器,然後按照用戶來進行排序。就可以知道某個用戶開啟了哪些進程以及所佔用的比例。而在命令中,沒有按帳戶進行排序的功能。即在上面這個顯示結果中,只可以按照內存使用率或者CPU負載來進行排序,而無法按照用戶來進行排序。在同一個結果中夾雜著系統特權用戶root與普通用戶所打開的進程。這對於系統管理員查找問題原因非常的不方便。有時候系統管理員往往需要只查看特定用戶的進程,如只需要查看oracle帳戶所打開的進程以及所佔用的系統資源。而忽略掉系統帳戶。因為特權帳戶其他用戶無權進行登陸操作,而其運行的往往是一些系統級別的進程,為此一般不會出現問題。而普通用戶可以運行一些應用程序。有時候他們糊里糊塗可能會打開一些非法程序,佔用大量的系統資源,從而降低系統性能。廢話少說,如何才能夠查看特定帳戶所啟動的進程呢?其實很簡單。現運行 命令,讓系統統計所有帳戶的進程。然後在需要查看特定帳戶的進程使,只需要按u鍵(注意小寫),然後輸入用戶名即可。此時系統會自動把其他帳戶的進程過濾掉,方便系統管理員查看。按用戶過濾後,仍然可以按m鍵來對現實的結果進行過濾。如果在一開始就需要查看某個特定用戶的進程,那麼只需要直接在 命令後面加入-u可選項然後帶上具體的用戶名即可。但是,此時如果再想查看全部用戶的話,那麼只有先推出命令,然後再利用命令不帶任何選項,來查看所有用戶的進程。或者說,再在這個窗口中輸入字元u,然後直接按回車鍵,也可以顯示所用用戶的進程信息。
3、動態統計信息。
使用命令來統計進程的運行信息,跟微軟操作系統的任務管理器一樣,都是動態調整的。也就是說,系統會每隔一段時間去統計這個信息,然後動態的顯示在窗口中。不需要用戶手工去更新相關的信息。而且從上面的圖形中可以看出,命令統計的信息要比微軟任務管理器統計的信息要多的多。所以對系統管理員來說,具有更大的參考價值。筆者以前也很喜歡採用微軟操作系統的任務管理器。而了解了命令後,就對其鍾愛有加了。因為其不僅可以完成任務管理器中的所有功能。而且命令中有的信息在微軟任務管理器中卻無法顯示。而這些信息往往對我們維護系統、提升性能具有很大的參考價值。
4、刪除有異常的進程。
如果這個窗口中,發現某些進程有異常或者用戶執行了規定以外的應用程序,如佔用了太多的系統資源或者有僵屍進程的存在,則可以直接在這個窗口中講其刪除。操作的方法很簡單,只需要在這個窗口內輸入字元p,然後系統會提示系統管理員輸入要關閉進程的PID。管理員只需要鍵入這個值,然後按回車鍵就可以殺掉不需要的進程。不過在關閉進程的時候,有許可權的限制。系統特權帳戶root可以關閉所有用戶的進程。而普通帳戶則只能夠刪除自己打開的程序,而無法關閉其他用戶的進程。如現在系統管理員先以oracle用戶登錄,發現root帳戶下某個進程異常,想要關閉時,系統會提示無法關閉的錯誤信息。此時管理員必須先終止這個進程,然後利用su命令更改登陸的帳戶。然後再關閉這個異常的進程。系統管理員可以同時關閉多個進程。方法很簡單,就是同時輸入多個需要關閉的進程號。在各個進程號之間需要利用逗號隔開。
在系統維護中是一個很有用的命令。除了可以實現如上的功能外,還可以設置其動態更新的時間間隔等等。不過需要注意的是,在不同版本的 Linux系統中其功能稍有差異,而且其顯示的布局與內容也有所不同。為此當系統管理員維護其不怎麼熟悉的版本時,有時候需要查看系統的幫助說明。此時只需要在命令後面加上?號就可以獲得相關的幫助。這個聯機幫助文檔根命令一樣,都是系統管理員的好幫手。不過可惜的是,現在這些在線幫助文檔都是英文的。所以這對系統管理員的英文說明要求比較高。
我想監視linux系統的內存使用情況,在linux下有哪
[root@iZ259r7h4pfZ ~]#
- 16:48:24 up 226 days, 8:34, 1 user, load average: 0.00, 0.00, 0.01
Tasks: 204 total, 1 running, 164 sleeping, 0 sped, 39 zombie
Cpu(s): 0.9%us, 0.9%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1920740k total, 1123552k used, 797188k free, 24216k buffers
Swap: 0k total, 0k used, 0k free, 87436k cached
[root@iZ259r7h4pfZ ~]# free -m
total used free shared buffers cached
Mem: 1875 1097 778 0 23 85
-/+ buffers/cache: 988 887
Swap: 0 0 0
也可以用watch監控
[root@iZ259r7h4pfZ ~]# watch -n 1 "free -m"
Every 1.0s: free -m Tue Oct 31 16:48:44 2017
total used free shared buffers cached
Mem: 1875 1098 777 0 23 85
-/+ buffers/cache: 989 886
Swap: 0 0 0
LoadRunner如何監控Linux系統資源
這個需要配置吧
:blogs./yangxia-test/archive/2012/11/27/2790771.
怎樣使用loadrunner監控linux系統資源
LR只是模擬客戶端和伺服器進行交互,並不能直觀的收集伺服器是內部的信息,如果要監控伺服器性能情況,linux系統可以用nmon(或者用命令不過,只能監控內存之類的情況,寫一個shell腳本定時輸出日誌到本地就可以了),oracle可以用awr。
如何查看linux資源使用情況
Linux查看系統資源佔用
在系統維護的過程中,隨時可能有需要查看 CPU和內存的使用率,並根據相應信息分析系統狀況的需求。本文介紹一下幾種常見的Linux系統資源查看命令。
1、總體內存佔用的查看
命令:free
圖1 free命令查看內存佔用
(1) free命令默認是以kb為單位顯示的,可以用free -m 用Mb單位來顯示。
(2) Mem行 : total = used + free 其中buffers和cached雖然計算在used內, 但其實為可用內存。
(3) Mem下一行:used為真實已佔內存,free為真實可用內存。
(4)Swap:內存交換區的使用情況。
2、查看內存佔用前五的進程
命令:ps auxw | head -1;ps auxw|sort -rn -k4|head -5
圖 2.1查看內存佔用前5的進程
如圖2.1所示, 內存的單位是kb,VSZ是虛擬內存的佔用,RSS是真實的內存的佔用。
命令分解:
ps auxw顯示系統資源佔用情況;
head -1表示顯示第一列,即標題列;
sort -r 表示反向排序,-n表示按數字排序,-k4表示列的第4個字元。
3、查看CPU佔用前三的進程
命令:ps auxw|head -1;ps auxw|sort -rn -k3|head -3
圖3.1 查看cpu佔用前三的進程
該命令與圖2.1相仿,只是選擇的資源佔用情況的第3列(即cpu),用「-k3」表示。
4、查看系統整體的負載
命令:
圖4.1 顯示系統整體負載
(1)第一行: 系統時間 + 系統運行時間 + 幾個用戶 + 1/5/15分鍾系統平均負載
(2)第二行:進程總數(total) + 正在運行進程數(running) + 睡眠進程數(sleeping) + 停止的進程數(sped)+ 僵屍進程數(zombie)
(3)第三行:用戶空間CPU佔比(us) + 內核空間CPU佔比(sy)+ CPU空置率(id)
圖4.2 各個任務佔用資源情況
註解:
PID :進程ID
USER :用戶名
PR :優先順序
NI :負值表示高優先順序,正值表示低優先順序。
VIRT :虛擬內存
RES : 真實內存
SHR :共享內存
S :進程狀態 D=不可中斷的睡眠狀態; R=運行; S=睡眠 ;T=跟蹤/停止; Z=僵屍進程
參數:
-d 2 :每隔2秒顯式所有進程的資源佔用情況
-c :每隔5秒顯式進程的資源佔用情況,並顯示進程的命令行參數(默認只有進程名)
-p 12345 -p 6789:每隔5秒顯示pid是12345和pid是6789的兩個進程的資源佔用情況
-d 2 -c -p 123456 :每隔2秒顯示pid是12345的進程的資源使用情況,並顯式該進程啟動的命令行參數
如何使用vmstat命令監視 CPU 的使用情況
假設一個線程被調度運行,它將一直運行直到它的時間片用完、直到被搶先或直到它自己主動放棄 CPU 控制權。
當另一個線程被賦予 CPU 控制權時,必須保存前一個線程的上下文或工作環境,並載入當前線程的上下文。操作系統有一個很有效的上下文切換過程,所以每次切換並不耗費資源。
任何上下文切換的顯著增加,如當 cs 比磁碟 I/O 和網路包速率高的多,都應進行進一步調查。