新聞中心
實時監(jiān)控Linux程序的技巧和方法

成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、成都微信小程序、公眾號商城、等建站開發(fā),成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。
隨著計算機(jī)技術(shù)的發(fā)展和應(yīng)用范圍的日益擴(kuò)大,Linux已成為開源操作系統(tǒng)領(lǐng)域的佼佼者,應(yīng)用領(lǐng)域廣泛,無論是服務(wù)器端還是嵌入式設(shè)備應(yīng)用都離不開它。在Linux中,程序運行時出現(xiàn)問題是家常便飯的事情,如何及時發(fā)現(xiàn)并修復(fù)程序的問題,則是很多開發(fā)者和運維人員關(guān)心的話題。本篇文章將探討實時監(jiān)控Linux程序的技巧和方法,幫助大家快速定位和解決程序的問題。
1. 常用監(jiān)控工具
為了實時監(jiān)控Linux程序,需要使用一些常用的監(jiān)控工具。以下是一些常用的監(jiān)控工具:
1.1 top命令
top命令是一個實時進(jìn)程監(jiān)視器,在終端窗口中可以通過top命令查看系統(tǒng)當(dāng)前運行的進(jìn)程信息,包括進(jìn)程ID、CPU使用率、內(nèi)存使用率等。同時,top命令還可以對進(jìn)程進(jìn)行操作,如殺死僵尸進(jìn)程或快速查看占用資源更高的進(jìn)程。使用方法:在終端中輸入top命令并回車即可。
1.2 ps命令
ps命令用于顯示系統(tǒng)當(dāng)前運行的進(jìn)程信息,與top命令類似,但ps命令的輸出信息更加詳細(xì)。同時,ps命令還支持一些選項,可以通過選項過濾出特定的進(jìn)程信息。使用方法:在終端中輸入ps命令并回車即可。
1.3 strace命令
strace命令用于跟蹤進(jìn)程執(zhí)行過程中的系統(tǒng)調(diào)用和信號,可以幫助開發(fā)者和運維人員定位程序的問題,如進(jìn)程崩潰、死鎖等。使用方法:在終端中輸入strace命令并加上要跟蹤的進(jìn)程ID即可。
1.4 lsof命令
lsof命令用于顯示系統(tǒng)當(dāng)前打開的文件和進(jìn)程信息,可以幫助開發(fā)者和運維人員查找進(jìn)程引用的文件、套接字等資源,幫助快速定位問題。使用方法:在終端中輸入lsof命令并加上要查找的進(jìn)程ID即可。
1.5 tcpdump命令
tcpdump命令用于抓取網(wǎng)絡(luò)上的數(shù)據(jù)包,可以幫助開發(fā)者和運維人員定位網(wǎng)絡(luò)問題,如流量異常、丟包等。使用方法:在終端中輸入tcpdump命令并加上要抓取網(wǎng)絡(luò)數(shù)據(jù)包的條件即可。
2.監(jiān)控腳本編寫
除了常用的監(jiān)控工具外,還可以通過編寫監(jiān)控腳本實現(xiàn)程序的監(jiān)控。以下是一些注意事項:
2.1 編寫簡潔的腳本
編寫監(jiān)控腳本需要注意腳本的簡潔性,盡量避免復(fù)雜的操作,只保留必要的監(jiān)控動作,以減少腳本的執(zhí)行時間。
2.2 設(shè)置監(jiān)控時間間隔
監(jiān)控腳本需要設(shè)置監(jiān)控時間間隔,以避免頻繁監(jiān)控對系統(tǒng)造成過大的負(fù)荷。監(jiān)控時間間隔可根據(jù)實際情況進(jìn)行調(diào)整,建議設(shè)置在1-5分鐘之間。
2.3 輸出監(jiān)控結(jié)果
監(jiān)控腳本在執(zhí)行完監(jiān)控的動作后,需要將監(jiān)控結(jié)果進(jìn)行輸出,以便開發(fā)者和運維人員實時了解程序的運行狀態(tài)。
3.實際應(yīng)用案例
在實際應(yīng)用中,我們可以結(jié)合上述監(jiān)控工具和監(jiān)控腳本,實現(xiàn)程序的實時監(jiān)控。以下是一個實際應(yīng)用案例:
在一臺Linux服務(wù)器上運行了一個Web服務(wù)器程序,在客戶端訪問時出現(xiàn)了網(wǎng)絡(luò)延遲問題。為了解決這個問題,我們可以根據(jù)上述方法進(jìn)行監(jiān)控。
3.1 使用tcpdump命令抓取網(wǎng)絡(luò)數(shù)據(jù)包
在終端中輸入tcpdump命令,指定抓取網(wǎng)絡(luò)數(shù)據(jù)包的條件,以過濾出相應(yīng)的數(shù)據(jù)包。
3.2 使用ps命令查找進(jìn)程ID
使用ps命令查找Web服務(wù)器程序的進(jìn)程ID,并記錄下來,以便后續(xù)使用。
3.3 使用strace命令跟蹤進(jìn)程執(zhí)行
使用strace命令對Web服務(wù)器程序進(jìn)行跟蹤,并記錄下跟蹤結(jié)果。根據(jù)結(jié)果,我們可以查看程序執(zhí)行時調(diào)用的系統(tǒng)調(diào)用和信號,并判斷是否存在異常情況。
3.4 編寫監(jiān)控腳本
根據(jù)上述監(jiān)控工具的輸出結(jié)果,編寫監(jiān)控腳本。監(jiān)控腳本需要實時監(jiān)測Web服務(wù)器程序的狀態(tài),并輸出監(jiān)控結(jié)果。
4.
本篇文章介紹了實時監(jiān)控Linux程序的技巧和方法,包括常用的監(jiān)控工具和監(jiān)控腳本的編寫。在實際應(yīng)用中,可以根據(jù)實際需要進(jìn)行選擇和組合,并結(jié)合運維經(jīng)驗,快速定位和解決程序的問題。同時,需要注意操作的安全性,以避免對系統(tǒng)造成不必要的風(fēng)險。
相關(guān)問題拓展閱讀:
- 如何使用Nmon監(jiān)控Linux系統(tǒng)性能
如何使用Nmon監(jiān)控Linux系統(tǒng)性能
一、概述
nmon是一種在AIX與各種Linux操作系統(tǒng)上廣泛使用的監(jiān)控與分析工具,相對于其它一些系統(tǒng)資源監(jiān)控工具來說,nmon所記錄的信息是比較全面的,它能在系統(tǒng)運行過程中實時地捕捉系統(tǒng)資源的使用情況,并且能輸出結(jié)果到文件中,然后通過nmon_yzer工具產(chǎn)生數(shù)據(jù)文件與圖形化結(jié)果。
nmon所記錄的數(shù)據(jù)包含以下一些方面(也是我們在尋找問題過程中所關(guān)注的資源點):
·cpu占用率
·內(nèi)存使用情況
·磁盤I/O速度、傳輸和讀寫比率
·文件系統(tǒng)的使用率
·網(wǎng)絡(luò)I/O速度、傳輸和讀寫比率、錯誤統(tǒng)計率與傳輸包的大小
·消耗資源最多的進(jìn)程
·計算機(jī)詳細(xì)信息橡改鍵和資源
·頁面空間和頁面I/O速度
·用戶自定義的磁盤組
·網(wǎng)絡(luò)文件系統(tǒng)
另外在AIX操作系統(tǒng)上,nmon還能監(jiān)控到其他的一些信息,如異步I/O等。
二、下載安裝nmon
1、下載安裝包:
選擇下載相應(yīng)的版本,我下載的是 nmon16d_x86.tar.gz。解壓后里邊有很多版本的nmon,我用的是nmon_linux_x86_64,親測可用。
2、直接在window中將解壓好的nmon_linux_x86_64通過sftp上傳到要監(jiān)控的linux系統(tǒng)中對應(yīng)目錄下
3、執(zhí)行授權(quán)命令:
# chmod +x nmon_x86_64_linux
4、運行./nmon_x86_64_linux,便可進(jìn)入nmon的監(jiān)控界面,如下圖:
三、實時監(jiān)控
在完成配置后,只需要“#./nmon”命令即可運行程序,通過一些快捷鍵調(diào)取關(guān)心的系統(tǒng)資源指標(biāo)進(jìn)行顯示,如按鍵“C”可以查看CPU相 關(guān)信息;按鍵“D”可以查看磁盤信息;按鍵“T”可以查看系統(tǒng)的進(jìn)程信息;“M”對應(yīng)內(nèi)存、“N”對應(yīng)網(wǎng)絡(luò)等等,完整的快捷鍵對應(yīng)內(nèi)容可以通過幫助(按鍵 “H”)查看,可以顯示Linux系統(tǒng)CPU、內(nèi)存、進(jìn)程信息,包括了CPU的用戶、系統(tǒng)、等待和空閑狀態(tài)值,可用內(nèi)存、緩存大小以及進(jìn)程的CPU消耗等詳細(xì)指標(biāo)。該種殲棚方式顯示信息實時性強(qiáng)梁巧,能夠及時掌握系統(tǒng)承受壓力下的運行情況,每顆CPU利用率是多少、內(nèi)存使用多少、網(wǎng)絡(luò)流量多少、磁盤讀寫……這些數(shù)據(jù)均是實時刷新,一目了然。
鍵入“c”查看系統(tǒng)CPU使用情況
鍵入“m”查看系統(tǒng)內(nèi)存使用情況
鍵入“d”查看系統(tǒng)磁盤I/O情況
鍵入“h”查看幫助信息
用Nmon監(jiān)控Linux系統(tǒng)性能的方法請參見下面介紹(配圖):
1、安裝Nmon
2、一旦安裝完成,則可以通過在終端執(zhí)行 nmon 命令啟動它。
Nmon命令執(zhí)行之后,大家可以看到如下輸出:
3、從上圖中大家可以看到,Nmon 命令行工具是一個用戶交互的應(yīng)用程序,大家可以非常方便地使用鍵盤快捷鍵來查看相關(guān)統(tǒng)計信息。
q : 停止并退出Nmon
h : 查看幫助信息
c : 查看 CPU 統(tǒng)計信息
m : 查跡亮看內(nèi)存統(tǒng)計信息
d : 查看磁盤統(tǒng)計信息
k : 查看內(nèi)核統(tǒng)計信息
n : 查看網(wǎng)絡(luò)統(tǒng)計信息
N : 查看 NFS 統(tǒng)計信息
j : 查看文件系統(tǒng)統(tǒng)計信息
t : 查看 Top 進(jìn)程統(tǒng)計信息
V : 查看虛擬內(nèi)存統(tǒng)計信息
v : 詳細(xì)輸出模式
4、查看 CPU 統(tǒng)計信息
如果你想查看 CPU 性能信息,可以直接按 c 鍵:
5、查看 Top 進(jìn)程統(tǒng)計信息
如果你想查看 Top 進(jìn)程統(tǒng)計信息,可搜昌以直接按 t 鍵:
6、查看網(wǎng)絡(luò)統(tǒng)計信息
如果你想查看網(wǎng)絡(luò)統(tǒng)計信息,可以直接按 n 鍵:
7、磁盤I/O圖
使用 d 鍵可以查看磁盤統(tǒng)計信息:
8、查看內(nèi)核統(tǒng)計信息
如果你想查看內(nèi)核統(tǒng)計信息,可以直接按 k 鍵:
9、獲取系姿漏寬統(tǒng)信息
如果要查看 Linux 的系統(tǒng)信息,如:系統(tǒng)架構(gòu)、操作系統(tǒng)版本、Linux 版本則可以使用 r 鍵,這對系統(tǒng)管理員非常有用。
以上是基礎(chǔ)使用方法。下面再補(bǔ)充一些命令和方法:
1、啟動
打開nmon所在的目錄:cd /usr/local/nmon
修改啟動文件的訪問權(quán)限: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ù)實際需要時間調(diào)整;當(dāng)運行以上命令后該目錄下會生成一個.nmon文件,該文件會根據(jù)間隔時間被寫入性能數(shù)據(jù),當(dāng)一段時間后再查看該文件,文件字節(jié)變大
利用nmonyser分析.nmon文件
當(dāng)測試結(jié)束的同時ftp到服務(wù)器上將.nmon文件get下來,
打開nmon_yser.zip 包下的nmon yser v338.xls 文件,點擊Analyse nomn data按鈕,選擇之前get來下的.nmon文件。
(如果報告以下宏的安全級別太高錯誤,則在“工具 — 宏 –安全性”里把級別調(diào)低,然后重新打開 nmon yser v338.xls 文件)
待分析結(jié)束后會生成性能分析結(jié)果文件(文件格式為.xls,其中包括CPU,IO,內(nèi)存等性能分析報告)。
分析結(jié)果中有很多數(shù)據(jù)和圖形,簡要介紹主要的性能參數(shù)圖像
4.1 系統(tǒng)匯總(對應(yīng)excel標(biāo)簽的‘SYS_SUMM’)
藍(lán)線為cpu占有率變化情況;
粉線為磁盤IO的變化情況;
4.2磁盤讀寫情況匯總(對應(yīng)excel標(biāo)簽的‘DISK_SUMM’)
藍(lán)色為磁盤讀的速率KB/sec
紫色為磁盤寫的速率KB/sec
4.3內(nèi)存情況匯總(對應(yīng)excel標(biāo)簽的‘MEM’)
曲線表示內(nèi)存剩余量(MB)
分析數(shù)據(jù)得到的報告文件(.xls)中包含很多性能分析結(jié)果數(shù)據(jù),根據(jù)自己的需要查看。
2、nmon運行本身就消耗系統(tǒng)資源的;
另外如果取到.nmon文件后確定不再需要nmon繼續(xù)收集信息則應(yīng)kill掉nmon;
命令:
ps -A | grep nmon #得到pid
kill -9 pid
suse10 enterprise sp2:
nmon_x86_rhel3
使用對應(yīng)的操作系統(tǒng)文件:
chmod +x nmon_x86_ubuntu810
mv nmon_x86_ubuntu810 /usr/local/bin/nmon
對于 Debian 還要做以下操作(不做也同樣能運行):
apt-get install l-release
l_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” 是這臺主機(jī)的主機(jī)名。
生成報表:
下載 nmon yser (生成性能報告的免費工具):
把之前生成的 nmon 數(shù)據(jù)文件傳到 Windows 機(jī)器上,用 Excel 打開分析工具 nmon yser v33C.xls 。點擊 Excel 文件中的 “Analyze nmon data” 按鈕,選擇 nmon 數(shù)據(jù)文件,這樣就會生成一個分析后的結(jié)果文件: hostname_090824_1306.nmon.xls ,用 Excel 打開生成的文件就可以看到結(jié)果了。
如果宏不能運行,需要做以下操作:
工具 -> 宏 -> 安全性 -> 中,然后再打開文件并允許運行宏。
自動按天采集數(shù)據(jù):
在 crontab 中增加一條記錄:
0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1
300*288=86400 秒,正好是一天的數(shù)據(jù)。
采樣文件越來越大:
.***:~/nmon# ./nmon -s1 -c33 -f
.***:~/nmon#
.***:~/nmon# du -sh *
8.0K AD39_***_sles10_101207_1046.nmon
160K nmon
.***:~/nmon# du -sh *
12K AD39_***_sles10_101207_1046.nmon
160K nmon
.***:~/nmon# du -sh *
16K AD39_***_sles10_101207_1046.nmon
160K nmon
.***:~/nmon# du -sh *
20K AD39_***_sles10_101207_1046.nmon
160K nmon
.***:~/nmon# du -sh *
20K AD39_***_sles10_101207_1046.nmon
160K nmon
注:以上一些機(jī)器名稱或系統(tǒng)名稱,請根據(jù)實際情況自行調(diào)整及修改。
Nmon ( 又名 Nigel’s Monitor) 是非常常用的系統(tǒng)性能監(jiān)視工具,由 IBM 工程師 Nigel Griffiths 開發(fā),適用于 AIX 和 Linux 操作系統(tǒng)。該工具可以直接在屏幕上顯示當(dāng)前操作系統(tǒng)的資源利用率,以幫助大家找出系統(tǒng)瓶頸和協(xié)助系統(tǒng)調(diào)優(yōu)。由于其十分出名,在 10大好用的Linux實用工具推薦 一文中已進(jìn)行過簡單推薦。
使用 Nmon 大家便可以輕松監(jiān)控系統(tǒng) CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤、文件系統(tǒng)、NFS、Top 進(jìn)程等信息。
安裝Nmon
默認(rèn) Nmon 已在 Ubuntu 的源中,大家可以直接使用 apt-get 進(jìn)行安裝:
sudo apt-get install nmon
如何使用Nmon監(jiān)控Linux系統(tǒng)性能
使用Nmon監(jiān)控Linux系統(tǒng)性能
一旦安裝完成,則可以通過在終端執(zhí)行 nmon 命令啟動它。
Nmon命令執(zhí)行之后,大家可以看到如下輸出:
Nmon
從上圖中大家可以看到,Nmon 命令行工具是一個用戶交互讓慎的應(yīng)用程序,大家可以非常方便地使用鍵盤快捷鍵來查看相關(guān)統(tǒng)計信息。
q : 停止并退出Nmon
h : 查看幫助信息
c : 查看 CPU 統(tǒng)計信息
m : 查看內(nèi)存統(tǒng)計信息
d : 查看磁盤統(tǒng)計信息
k : 查看內(nèi)核統(tǒng)計信息
n : 查看網(wǎng)絡(luò)統(tǒng)計信息
N : 查看 NFS 統(tǒng)計信息
j : 查看文件系統(tǒng)統(tǒng)計信息
t : 查看 Top 進(jìn)程統(tǒng)計信息
V : 查看虛擬內(nèi)存統(tǒng)計信息
v : 詳細(xì)輸出模式
查看 CPU 統(tǒng)計信息
如果你想查看 CPU 性能信息,可以直接按 c 鍵:
Nmon
查看 Top 進(jìn)程統(tǒng)計信息
如果你想查看 Top 進(jìn)程統(tǒng)計信息,可以直接按 t 鍵:
Nmon
查洞梁看網(wǎng)絡(luò)統(tǒng)計信息
如果你想查看網(wǎng)絡(luò)統(tǒng)計信息,可以直接按 n 鍵:
Nmon
磁盤I/納滑運O圖
使用 d 鍵可以查看磁盤統(tǒng)計信息:
Nmon
查看內(nèi)核統(tǒng)計信息
如果你想查看內(nèi)核統(tǒng)計信息,可以直接按 k 鍵:
Nmon
獲取系統(tǒng)信息
如果要查看 Linux 的系統(tǒng)信息,如:系統(tǒng)架構(gòu)、操作系統(tǒng)版本、Linux 版本則可以使用 r 鍵,這對系統(tǒng)管理員非常有用。
Nmon
Nmon ( 又名 Nigel’s Monitor) 是非常常用的系統(tǒng)性能監(jiān)視工具,由 IBM 工程師 Nigel Griffiths 開發(fā),適用于 AIX 和 Linux 操作系統(tǒng)。該工具可以直接在屏幕上顯示當(dāng)前操作系統(tǒng)的資源利用率,以幫助大家找出系統(tǒng)瓶頸和協(xié)助系統(tǒng)調(diào)優(yōu)。使用 Nmon 大家便態(tài)悶可以輕松監(jiān)控系統(tǒng) CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤、文件系統(tǒng)、NFS、Top 進(jìn)程等信息。
安裝:sudo apt-get install nmon
一旦安裝完成,則可以通過在終端執(zhí)行 nmon 命令啟動它
下面是一些說明:
q : 停止并退出Nmon
h : 查看幫助信息
c : 查看 CPU 統(tǒng)計信息
m : 查看內(nèi)存統(tǒng)計信息
d : 查看磁盤統(tǒng)計信息
k : 查看內(nèi)核統(tǒng)計信息
n : 查看網(wǎng)絡(luò)統(tǒng)計信息
N : 查看 NFS 統(tǒng)計信息
j : 查看文件系統(tǒng)統(tǒng)計信息
t : 查看 Top 進(jìn)程統(tǒng)計信息
V : 查看虛擬內(nèi)存統(tǒng)計信息
v : 詳細(xì)輸出模式
查看 CPU 性能信息,可以直接按 c 鍵
查看 Top 進(jìn)程統(tǒng)計信息,可以直接核困按 t 鍵
查看網(wǎng)絡(luò)統(tǒng)計信息,可以直接按 n 鍵
d 鍵可以查看磁盤統(tǒng)計信息改閉念
查看內(nèi)核統(tǒng)計信息,可以直接按 k 鍵
查看 Linux 的系統(tǒng)信息,如:系統(tǒng)架構(gòu)、操作系統(tǒng)版本、Linux 版本則可以使用 r 鍵,這對系統(tǒng)管理員非常有用。
關(guān)于如何實時監(jiān)控linux程序的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)公司提供專業(yè)的建站服務(wù),為您量身定制,歡迎來電(028-86922220)為您打造專屬于企業(yè)本身的網(wǎng)絡(luò)品牌形象。
成都創(chuàng)新互聯(lián)品牌官網(wǎng)提供專業(yè)的網(wǎng)站建設(shè)、設(shè)計、制作等服務(wù),是一家以網(wǎng)站建設(shè)為主要業(yè)務(wù)的公司,在網(wǎng)站建設(shè)、設(shè)計和制作領(lǐng)域具有豐富的經(jīng)驗。
網(wǎng)站欄目:實時監(jiān)控linux程序的技巧和方法(如何實時監(jiān)控linux程序)
文章位置:http://fisionsoft.com.cn/article/coecjdj.html


咨詢
建站咨詢
