linux服務器性能監(jiān)控工具(linux服務器狀態(tài)監(jiān)控)
今天給各位分享linux服務器性能監(jiān)控工具的知識,其中也會對linux服務器狀態(tài)監(jiān)控進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!
本文目錄一覽:
- 1、有什么監(jiān)控Linux服務器的工具嗎?
- 2、Linux性能監(jiān)控與調優(yōu)工具?
- 3、如何使用Nmon監(jiān)控Linux系統(tǒng)性能
- 4、linux下怎么查看服務器性能
有什么監(jiān)控Linux服務器的工具嗎?
1. zabbix:是一個基于Web界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡監(jiān)視功能的企業(yè)級開源解決方案。Zabbix能監(jiān)視各種網(wǎng)絡參數(shù),保證服務器系統(tǒng)的安全運營,并提供靈活的通知機制以讓系統(tǒng)管理員快速定位,解決存在的各種問題。
2. Nagios:是一款開源的免費網(wǎng)絡監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的狀態(tài),交換機路由器等網(wǎng)絡設備,打印機等。在系統(tǒng)或服務狀態(tài)異常時發(fā)出郵件或短信報警時間通知運維人員,在狀態(tài)恢復后發(fā)出正常的郵件或短信通知。
3. Anturis:是一個基于云平臺的Saas平臺,可監(jiān)控Windows、Linux服務器,網(wǎng)站和IT基礎架構,通過全面的監(jiān)控解決方案列表,讓管理員快速了解整體主機或者服務器瓶頸與風險。
4. SeaLion:是一個基于云的Linux服務器監(jiān)控工具,也是通過統(tǒng)一的儀表盤監(jiān)控所有服務器指標,它只需幾分鐘即可完成設置,具有即時報警功能。
5. lcinga:是一個免費的開源監(jiān)控系統(tǒng),可以檢查服務器資源的可用性,它會記錄服務器問題并在停機的時候通知您。
6. Munin:是一個網(wǎng)絡和系統(tǒng)監(jiān)控工具,可幫助您分析服務器資源趨勢,旨在成為一個即插即用的解決方案,安裝后無需太多額外工作即可收集關鍵信息。
7. Monit:是一個用于管理和監(jiān)控Unix系統(tǒng)的開源工具。可以進行自動維護和維修,如果出現(xiàn)錯誤情況,還可以自動觸發(fā)保護行為。
8. Pingdom:可以對互聯(lián)網(wǎng)上很多地方的服務器以及網(wǎng)站進行監(jiān)控,以保證他們可以有效的運行;通過Pingdom,可以對電子郵件的服務器、FTP服務器、受密碼保護的那些網(wǎng)站進行監(jiān)控。
Linux性能監(jiān)控與調優(yōu)工具?
除了保證程序的正確性以外,在項目開發(fā)中往往還關心性能和穩(wěn)定性。我們往往要對內核、應用程序或整個系統(tǒng)進行性能優(yōu)化。在性能優(yōu)化中常用的手段如下:
使用top、vmstat、iostat、sysctl等常用工具
top命令用于顯示處理器的活動狀況。在缺省情況下,顯示占用CPU最多的任務,并且每隔5s做一次刷新;vmstat命令用于報告關于內核線程、虛擬內存、磁盤、陷阱和CPU活動的統(tǒng)計信息;iostat命令用于分析各個磁盤的傳輸閑忙狀況;netstat是用來檢測網(wǎng)絡信息的工具; sar用于收集、報告或者保存系統(tǒng)活動信息,其中,sar用于顯示數(shù)據(jù),sar1和sar2用于收集和保存數(shù)據(jù)
sysctl是一個可用于改變正在運行中的Linux系統(tǒng)的接口。用sysctl 可以讀取幾白個以上的系統(tǒng)變量,如用sysctl—a可讀取所有變量。
sysctl的實現(xiàn)原理是:所有的內核參數(shù)在/proc/sys中形成一個樹狀結構,sysctl系統(tǒng)調用的內核函數(shù)是sys_sysctl,匹配項目后,最后的讀寫在do_sysctl_strategy中完成。
2.使用高級分析手段,如OProfile、gprof
OProfile可以幫助用戶識別諸如模塊的占用時間、循環(huán)的展開、高速緩存的使用率低、低效的類型轉換和冗余操作、錯誤預測轉移等問題。它收集有關處理器事件的信息,其中包括TLB的故障、停機、存儲器訪問以及緩存命中和未命中的指令的攫取數(shù)量。OProfile支持兩種采樣方式:基于事件的采樣(Event Based)和基于時間的采樣(Time Based)?;谑录牟蓸邮荗Profile只記錄特定事件(比如L2緩存未命中)的發(fā)生次數(shù),當達到用戶設定的定值時Oprofile就記錄一下(采一個樣)。這種方式需要CPU內部有性能計數(shù)器(Performace Counter))?;跁r間的采樣是OProfile借助OS時鐘中斷的機制,在每個時鐘中斷,OProfile都會記錄一次(采一次樣)。引入它的目的在于,提供對沒有性能計數(shù)器的CPU的支持,其精度相對于基于事件的采樣要低,因為要借助OS時鐘中斷的支持,對于禁用中斷的代碼,OProfile不能對其進行分析。
如何使用Nmon監(jiān)控Linux系統(tǒng)性能
用Nmon監(jiān)控Linux系統(tǒng)性能的方法請參見下面介紹(配圖):
1、安裝Nmon
2、一旦安裝完成,則可以通過在終端執(zhí)行?nmon?命令啟動它。
Nmon命令執(zhí)行之后,大家可以看到如下輸出:
3、從上圖中大家可以看到,Nmon 命令行工具是一個用戶交互的應用程序,大家可以非常方便地使用鍵盤快捷鍵來查看相關統(tǒng)計信息。
q : 停止并退出Nmon
h : 查看幫助信息
c : 查看 CPU 統(tǒng)計信息
m : 查看內存統(tǒng)計信息
d : 查看磁盤統(tǒng)計信息
k : 查看內核統(tǒng)計信息
n : 查看網(wǎng)絡統(tǒng)計信息
N : 查看 NFS 統(tǒng)計信息
j : 查看文件系統(tǒng)統(tǒng)計信息
t : 查看 Top 進程統(tǒng)計信息
V : 查看虛擬內存統(tǒng)計信息
v : 詳細輸出模式
4、查看 CPU 統(tǒng)計信息
如果你想查看 CPU 性能信息,可以直接按?c?鍵:
5、查看 Top 進程統(tǒng)計信息
如果你想查看 Top 進程統(tǒng)計信息,可以直接按?t?鍵:
6、查看網(wǎng)絡統(tǒng)計信息
如果你想查看網(wǎng)絡統(tǒng)計信息,可以直接按?n?鍵:
7、磁盤I/O圖
使用?d?鍵可以查看磁盤統(tǒng)計信息:
8、查看內核統(tǒng)計信息
如果你想查看內核統(tǒng)計信息,可以直接按?k?鍵:
9、獲取系統(tǒng)信息
如果要查看 Linux 的系統(tǒng)信息,如:系統(tǒng)架構、操作系統(tǒng)版本、Linux 版本則可以使用?r?鍵,這對系統(tǒng)管理員非常有用。
以上是基礎使用方法。下面再補充一些命令和方法:
1、啟動
打開nmon所在的目錄:cd?/usr/local/nmon
修改啟動文件的訪問權限:chmod?755?nmon_x86_rhel52
啟動nmon:./nmon_x86_rhel52
如果要采樣nmon的數(shù)據(jù)保存成文件,可以
./nmon_x86_rhel52?-fT?-s?30?-c?120
其中30表示每隔30秒nmon取一次系統(tǒng)性能數(shù)據(jù),120表示取120次;
這樣nmon將會在運行開始算起連續(xù)取得30sX120=60分鐘,可根據(jù)實際需要時間調整;當運行以上命令后該目錄下會生成一個.nmon文件,該文件會根據(jù)間隔時間被寫入性能數(shù)據(jù),當一段時間后再查看該文件,文件字節(jié)變大
利用nmonanalyser分析.nmon文件
當測試結束的同時ftp到服務器上將.nmon文件get下來,
打開nmon_analyser.zip?包下的nmon?analyser?v338.xls?文件,點擊Analyse?nomn?data按鈕,選擇之前get來下的.nmon文件。
(如果報告以下宏的安全級別太高錯誤,則在“工具?--?宏?--安全性”里把級別調低,然后重新打開?nmon?analyser?v338.xls?文件)
待分析結束后會生成性能分析結果文件(文件格式為.xls,其中包括CPU,IO,內存等性能分析報告)。
分析結果中有很多數(shù)據(jù)和圖形,簡要介紹主要的性能參數(shù)圖像
4.1?系統(tǒng)匯總(對應excel標簽的‘SYS_SUMM’)
藍線為cpu占有率變化情況;
粉線為磁盤IO的變化情況;
4.2磁盤讀寫情況匯總(對應excel標簽的‘DISK_SUMM’)
藍色為磁盤讀的速率KB/sec
紫色為磁盤寫的速率KB/sec
4.3內存情況匯總(對應excel標簽的‘MEM’)
曲線表示內存剩余量(MB)
分析數(shù)據(jù)得到的報告文件(.xls)中包含很多性能分析結果數(shù)據(jù),根據(jù)自己的需要查看。
2、nmon運行本身就消耗系統(tǒng)資源的;
另外如果取到.nmon文件后確定不再需要nmon繼續(xù)收集信息則應kill掉nmon;
命令:
ps?-A?|?grep?nmon?#得到pid
kill?-9?pid
suse10?enterprise?sp2:
nmon_x86_rhel3
使用對應的操作系統(tǒng)文件:
chmod?+x?nmon_x86_ubuntu810
mv?nmon_x86_ubuntu810?/usr/local/bin/nmon
對于?Debian?還要做以下操作(不做也同樣能運行):
apt-get?install?lsb-release
lsb_release?-d?|?sed?'s/Description:\t//'??/etc/debian_release
然后直接運行?nmon?即可。
采集數(shù)據(jù)并生成報表:
采集數(shù)據(jù):
nmon?-s10?-c60?-f?-m?/home/
參數(shù)解釋:
-s10?每?10?秒采集一次數(shù)據(jù)。
-c60?采集?60?次,即為采集十分鐘的數(shù)據(jù)。
-f?生成的數(shù)據(jù)文件名中包含文件創(chuàng)建的時間。
-m?生成的數(shù)據(jù)文件的存放目錄。
這樣就會生成一個?nmon?文件,并每十秒更新一次,直到十分鐘后。
生成的文件名如:?hostname_090824_1306.nmon?,"hostname"?是這臺主機的主機名。
生成報表:
下載?nmon?analyser?(生成性能報告的免費工具):
把之前生成的?nmon?數(shù)據(jù)文件傳到?Windows?機器上,用?Excel?打開分析工具?nmon?analyser?v33C.xls?。點擊?Excel?文件中的?"Analyze?nmon?data"?按鈕,選擇?nmon?數(shù)據(jù)文件,這樣就會生成一個分析后的結果文件:?hostname_090824_1306.nmon.xls?,用?Excel?打開生成的文件就可以看到結果了。
如果宏不能運行,需要做以下操作:
工具?-?宏?-?安全性?-?中,然后再打開文件并允許運行宏。
自動按天采集數(shù)據(jù):
在?crontab?中增加一條記錄:
0?0?*?*?*?root?nmon?-s300?-c288?-f?-m?/home/??/dev/null?21
300*288=86400?秒,正好是一天的數(shù)據(jù)。
采樣文件越來越大:
jackxiang@172.25.39.***:~/nmon#?./nmon?-s1?-c33?-f?????????
jackxiang@172.25.39.***:~/nmon#?
jackxiang@172.25.39.***:~/nmon#?du??-sh?*
8.0K????AD39_***_sles10_101207_1046.nmon
160K????nmon
jackxiang@172.25.39.***:~/nmon#?du??-sh?*
12K?????AD39_***_sles10_101207_1046.nmon
160K????nmon
jackxiang@172.25.39.***:~/nmon#?du??-sh?*
16K?????AD39_***_sles10_101207_1046.nmon
160K????nmon
jackxiang@172.25.39.***:~/nmon#?du??-sh?*
20K?????AD39_***_sles10_101207_1046.nmon
160K????nmon
jackxiang@172.25.39.***:~/nmon#?du??-sh?*
20K?????AD39_***_sles10_101207_1046.nmon
160K????nmon
注:以上一些機器名稱或系統(tǒng)名稱,請根據(jù)實際情況自行調整及修改。
linux下怎么查看服務器性能
1.查看系統(tǒng)負載
(1)uptime
這個命令可以快速查看機器的負載情況。
在Linux系統(tǒng)中,這些數(shù)據(jù)表示等待CPU資源的進程和阻塞在不可中斷IO進程(進程狀態(tài)為D)的數(shù)量。
命令的輸出,load average表示1分鐘、5分鐘、15分鐘的平均負載情況。
通過這三個數(shù)據(jù),可以了解服務器負載是在趨于緊張還是趨于緩解。
如果1分鐘平均負載很高,而15分鐘平均負載很低,說明服務器正在命令高負載情況,需要進一步排查CPU資源都消耗在了哪里。
反之,如果15分鐘平均負載很高,1分鐘平均負載較低,則有可能是CPU資源緊張時刻已經(jīng)過去。
(2)W
Show who is logged on and what they are doing.
可查詢登錄當前系統(tǒng)的用戶信息,以及這些用戶目前正在做什么操作
其中的load average后面的三個數(shù)字則顯示了系統(tǒng)最近1分鐘、5分鐘、15分鐘的系統(tǒng)平均負載情況
注意:
load average這個輸出值,這三個值的大小一般不能大于系統(tǒng)邏輯CPU的個數(shù)。
如果輸出中系統(tǒng)有4個邏輯CPU,如果load average的三個值長期大于4時,說明CPU很繁忙,負載很高,可能會影響系統(tǒng)性能,
但是偶爾大于4時,倒不用擔心,一般不會影響系統(tǒng)性能。相反,如果load average的輸出值小于CPU的個數(shù),則表示CPU還有空閑
2.dmesg | tail
該命令會輸出系統(tǒng)日志的最后10行。
這些日志可以幫助排查性能問題.
3.vmstat
vmstat Virtual Meomory Statistics(虛擬內存統(tǒng)計),用來獲得有關進程、虛存、頁面交換空間及 CPU活動的信息。這些信息反映了系統(tǒng)的負載情況。
后面跟的參數(shù)1,表示每秒輸出一次統(tǒng)計信息,表頭提示了每一列的含義
(1)監(jiān)控進程procs:
r:等待在CPU資源的進程數(shù)。
這個數(shù)據(jù)比平均負載更加能夠體現(xiàn)CPU負載情況,數(shù)據(jù)中不包含等待IO的進程。如果這個數(shù)值大于機器CPU核數(shù),那么機器的CPU資源已經(jīng)飽和(出現(xiàn)了CPU瓶頸)。
b:在等待io的進程數(shù) 。
(2)監(jiān)控內存memoy:
swpd:現(xiàn)時可用的交換內存(單位KB)
free:系統(tǒng)可用內存數(shù)(以千字節(jié)為單位)
buff: 緩沖去中的內存數(shù)(單位:KB)。
cache:被用來做為高速緩存的內存數(shù)(單位:KB)。
(3)監(jiān)控swap交換頁面
si: 從磁盤交換到內存的交換頁數(shù)量,單位:KB/秒。
so: 從內存交換到磁盤的交換頁數(shù)量,單位:KB/秒。
如果這個數(shù)據(jù)不為0,說明系統(tǒng)已經(jīng)在使用交換區(qū)(swap),機器物理內存已經(jīng)不足。
(4)監(jiān)控 io塊設備
bi: 發(fā)送到塊設備的塊數(shù),單位:塊/秒。
bo: 從塊設備接收到的塊數(shù),單位:塊/秒。
(5)監(jiān)控system系統(tǒng)
in: 每秒的中斷數(shù),包括時鐘中斷。
cs: 每秒的環(huán)境(上下文)轉換次數(shù)。
(6)監(jiān)控cpu中央處理器:
us:用戶進程使用的時間 。以百分比表示。
sy:系統(tǒng)進程使用的時間。 以百分比表示。
id:中央處理器的空閑時間 。以百分比表示。
us, sy, id, wa, st:這些都代表了CPU時間的消耗,它們分別表示用戶時間(user)、系統(tǒng)(內核)時間(sys)、空閑時間(idle)、IO等待時間(wait)和被偷走的時間(stolen,一般被其他虛擬機消耗)。
這些CPU時間,可以讓我們很快了解CPU是否出于繁忙狀態(tài)。
注:
如果IO等待時間很長,那么系統(tǒng)的瓶頸可能在磁盤IO。
如果用戶時間和系統(tǒng)時間相加非常大,CPU出于忙于執(zhí)行指令。
如果有大量CPU時間消耗在用戶態(tài),也就是用戶應用程序消耗了CPU時間。這不一定是性能問題,需要結合r隊列,一起分析。
4.mpstat -P ALL 1
該命令可以顯示每個CPU的占用情況,如果有一個CPU占用率特別高,那么有可能是一個單線程應用程序引起的。
MultiProcessor Statistics的縮寫,是實時系統(tǒng)監(jiān)控工具
其報告與CPU的一些統(tǒng)計信息,這些信息存放在/proc/stat文件中。在多CPUs系統(tǒng)里,其不但能查看所有CPU的平均狀況信息,而且能夠查看特定CPU的信息。
格式:mpstat [-P {|ALL}] [internal [count]]
-P {|ALL} 表示監(jiān)控哪個CPU, cpu在[0,cpu個數(shù)-1]中取值
internal 相鄰的兩次采樣的間隔時間
count 采樣的次數(shù),count只能和delay一起使用
all : 指所有CPU
%usr : 顯示在用戶級別(例如應用程序)執(zhí)行時CPU利用率的百分比
%nice :顯示在擁有nice優(yōu)先級的用戶級別執(zhí)行時CPU利用率的百分比
%sys : 現(xiàn)實在系統(tǒng)級別(例如內核)執(zhí)行時CPU利用率的百分比
%iowait : 顯示在系統(tǒng)有未完成的磁盤I/O請求期間CPU空閑時間的百分比
%irq : 顯示CPU服務硬件中斷所花費時間的百分比
%soft : 顯示CPU服務軟件中斷所花費時間的百分比
%steal : 顯示虛擬機管理器在服務另一個虛擬處理器時虛擬CPU處在非自愿等待下花費時間的百分比
%guest : 顯示運行虛擬處理器時CPU花費時間的百分比
%idle : 顯示CPU空閑和系統(tǒng)沒有未完成的磁盤I/O請求情況下的時間百分比
系統(tǒng)有兩個CPU。如果使用參數(shù) -P 然后緊跟CPU編號得到指定CPU的利用率。
( Ubuntu安裝: apt-get install sysstat)
5.pidstat 1
pidstat命令輸出進程的CPU占用率,該命令會持續(xù)輸出,并且不會覆蓋之前的數(shù)據(jù),可以方便觀察系統(tǒng)動態(tài)
6.iostat -xz 1
iostat命令主要用于查看機器磁盤IO情況
r/s, w/s, rkB/s, wkB/s:分別表示每秒讀寫次數(shù)和每秒讀寫數(shù)據(jù)量(千字節(jié))。讀寫量過大,可能會引起性能問題。
await:IO操作的平均等待時間,單位是毫秒。這是應用程序在和磁盤交互時,需要消耗的時間,包括IO等待和實際操作的耗時。如果這個數(shù)值過大,可能是硬件設備遇到了瓶頸或者出現(xiàn)故障。
avgqu-sz:向設備發(fā)出的請求平均數(shù)量。如果這個數(shù)值大于1,可能是硬件設備已經(jīng)飽和(部分前端硬件設備支持并行寫入)。
%util:設備利用率。這個數(shù)值表示設備的繁忙程度,經(jīng)驗值是如果超過60,可能會影響IO性能(可以參照IO操作平均等待時間)。如果到達100%,說明硬件設備已經(jīng)飽和。
注:如果顯示的是邏輯設備的數(shù)據(jù),那么設備利用率不代表后端實際的硬件設備已經(jīng)飽和。值得注意的是,即使IO性能不理想,也不一定意味這應用程序性能會不好,可以利用諸如預讀取、寫緩存等策略提升應用性能
7.free -m
free命令可以查看系統(tǒng)內存的使用情況,-m參數(shù)表示按照兆字節(jié)展示。
最后兩列分別表示用于IO緩存的內存數(shù),和用于文件系統(tǒng)頁緩存的內存數(shù)。
注:
第二行-/+ buffers/cache,看上去緩存占用了大量內存空間。這是Linux系統(tǒng)的內存使用策略,盡可能的利用內存,如果應用程序需要內存,這部分內存會立即被回收并分配給應用程序。
如果可用內存非常少,系統(tǒng)可能會動用交換區(qū)(如果配置了的話),這樣會增加IO開銷(可以在iostat命令中提現(xiàn)),降低系統(tǒng)性能。
8.sar -n DEV 1
sar命令在這里可以查看網(wǎng)絡設備的吞吐率。
在排查性能問題時,可以通過網(wǎng)絡設備的吞吐量,判斷網(wǎng)絡設備是否已經(jīng)飽和。
9.sar -n TCP,ETCP 1
sar命令在這里用于查看TCP連接狀態(tài),其中包括:
active/s:每秒本地發(fā)起的TCP連接數(shù),既通過connect調用創(chuàng)建的TCP連接;
passive/s:每秒遠程發(fā)起的TCP連接數(shù),即通過accept調用創(chuàng)建的TCP連接;
retrans/s:每秒TCP重傳數(shù)量;
TCP連接數(shù)可以用來判斷性能問題是否由于建立了過多的連接,進一步可以判斷是主動發(fā)起的連接,還是被動接受的連接。TCP重傳可能是因為網(wǎng)絡環(huán)境惡劣,或者服務器壓力過大導致丟包。
10.top
top命令包含了前面好幾個命令的檢查的內容。比如系統(tǒng)負載情況(uptime)、系統(tǒng)內存使用情況(free)、系統(tǒng)CPU使用情況(vmstat)等。
因此通過這個命令,可以相對全面的查看系統(tǒng)負載的來源。同時,top命令支持排序,可以按照不同的列排序,方便查找出諸如內存占用最多的進程、CPU占用率最高的進程等。
但是,top命令相對于前面一些命令,輸出是一個瞬間值,如果不持續(xù)盯著,可能會錯過一些線索。這時可能需要暫停top命令刷新,來記錄和比對數(shù)據(jù)。
關于linux服務器性能監(jiān)控工具和linux服務器狀態(tài)監(jiān)控的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
掃描二維碼推送至手機訪問。
版權聲明:本文由飛速云SEO網(wǎng)絡優(yōu)化推廣發(fā)布,如需轉載請注明出處。