10个Linux 系统性能监控命令行工具
引言:
系統(tǒng)一旦跑起來,我們就希望它能夠穩(wěn)定運(yùn)行,不要宕機(jī),不出現(xiàn)速度變慢。因此,對(duì)于Linux 系統(tǒng)管理員來說每天監(jiān)控和調(diào)試 Linux 系統(tǒng)的性能問題是一項(xiàng)繁重卻又重要的工作。監(jiān)控和保持系統(tǒng)啟動(dòng)并運(yùn)行是很不容易的一件事。
?
下面是小編總結(jié)的十個(gè)實(shí)用的 Linux 系統(tǒng)監(jiān)控命令,讓你輕松保持系統(tǒng)的實(shí)時(shí)性能監(jiān)控。
uptime命令
uptime命令可以查看系統(tǒng)總共運(yùn)行了多長時(shí)間和系統(tǒng)的平均負(fù)載。
?
顯示的信息顯示依次為:
- 現(xiàn)在時(shí)間、
- 系統(tǒng)已經(jīng)運(yùn)行了多長時(shí)間
- 目前有多少登陸用戶
- 系統(tǒng)在過去的1分鐘、5分鐘和15分鐘內(nèi)的平均負(fù)載
通過這些數(shù)據(jù)我們可以清晰的看出來服務(wù)器的負(fù)載是在趨于緊張還是趨于緩解的狀態(tài)。
vmstat 命令
vmstat命令的含義為顯示虛擬內(nèi)存狀態(tài),但是它可以報(bào)告關(guān)于進(jìn)程、內(nèi)存、I/O等系統(tǒng)整體運(yùn)行狀態(tài)。
?
每2秒獲取一次數(shù)據(jù)
#>vmstat 2?
上圖中,我們可以看出來vmstat命令,會(huì)輸出系統(tǒng)的核心指標(biāo),我們可以更加詳細(xì)的了解服務(wù)器的性能情況。
pidstat 命令
pidstat命令用來監(jiān)控被 Linux 內(nèi)核管理的獨(dú)立任務(wù)(進(jìn)程)。它輸出每個(gè)受內(nèi)核管理的任務(wù)的相關(guān)信息。pidstat命令也可以用來監(jiān)控特定進(jìn)程的子進(jìn)程。間隔參數(shù)用于指定每次報(bào)告間的時(shí)間間隔。
使用pidstat不加任何參數(shù)等價(jià)于加上-p參數(shù),但是只有正在活動(dòng)的任務(wù)會(huì)被顯示出來。
?
I/O 統(tǒng)計(jì)數(shù)據(jù)
# pidstat -d -p 8472?
IO 輸出會(huì)顯示一些內(nèi)的條目:
- kB_rd/s?- 任務(wù)從硬盤上的讀取速度(kb)
- kB_wr/s?- 任務(wù)向硬盤中的寫入速度(kb)
- kB_ccwr/s?- 任務(wù)寫入磁盤被取消的速率(kb)
監(jiān)測內(nèi)存使用
# pidstat -r 2 5會(huì)顯示5份關(guān)于page faults的統(tǒng)計(jì)數(shù)據(jù)結(jié)果,間隔2秒。這將會(huì)更容易的定位出現(xiàn)問題的進(jìn)程。
free -m 命令
free -m 命令相對(duì)于top 提供了更簡潔的查看系統(tǒng)內(nèi)存使用情況
?
第一部分Mem行:
- total 內(nèi)存總數(shù): 378M
- used 已經(jīng)使用的內(nèi)存數(shù): 163M
- free 空閑的內(nèi)存數(shù): 215M
- shared 當(dāng)前已經(jīng)廢棄不用,總是0
- buffers Buffer 緩存內(nèi)存數(shù): 11M
- cached Page 緩存內(nèi)存數(shù):57M
可用內(nèi)存計(jì)算公式:
可用內(nèi)存 =free +buffers +cached, 實(shí)際操作即:215 +11+57 =253MB;
五、 top 命令
top命令很常用,在第三行有顯示CPU當(dāng)前的使用情況。
?
字段說明:
- PID:進(jìn)程標(biāo)示號(hào)
- USER:進(jìn)程所有者
- PR:進(jìn)程優(yōu)先級(jí)
- NI:進(jìn)程優(yōu)先級(jí)別數(shù)值
- VIRT:進(jìn)程占用的虛擬內(nèi)存值
- RES:進(jìn)程占用的物理內(nèi)存值
- SHR :進(jìn)程使用的共享內(nèi)存值
- S :進(jìn)程的狀態(tài),其中S表示休眠,R表示正在運(yùn)行,Z表示僵死
- %CPU :進(jìn)程占用的CPU使用率
- %MEM :進(jìn)程占用的物理內(nèi)存百分比
- TIME+:進(jìn)程啟動(dòng)后占用的總的CPU時(shí)間
- Command:進(jìn)程啟動(dòng)的啟動(dòng)命令名稱
六、 其他指令
「sar -n DEV 1」可以查看網(wǎng)絡(luò)設(shè)備的吞吐率,吞吐量可以判斷是被是否飽和,是檢查服務(wù)器性能的一個(gè)重要指標(biāo)。
「sar –n TCP,ETCP 1」用于查看TCP連接狀態(tài)以及連接數(shù)量。其中,TCP的連接數(shù)量可以用來判斷服務(wù)器的性能如何,同時(shí)還能夠判斷誰是主動(dòng)連接,誰是被動(dòng)連接。
「Iostatb –xz 1」主要用于查看服務(wù)器的磁盤IO情況,看是否有滿負(fù)荷運(yùn)轉(zhuǎn)的情況發(fā)生。
「Dmesg | tail」用于輸出查看日志使用,這些日志可以幫助我們排查性能的問題。
作為 IT 運(yùn)維工程師,定時(shí)的關(guān)注服務(wù)器性能變化,可以幫助在發(fā)現(xiàn)異常的第一時(shí)間采取措施,保障業(yè)務(wù)的正常運(yùn)行。試想,如果擁有一個(gè)能夠監(jiān)控全局,實(shí)現(xiàn)業(yè)務(wù)告警風(fēng)險(xiǎn)提醒的運(yùn)維協(xié)作工具呢?定能極大提升工作效率,加強(qiáng)團(tuán)隊(duì)運(yùn)維保障能力!
總結(jié)
以上是生活随笔為你收集整理的10个Linux 系统性能监控命令行工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 磁盘IOPS的计算
- 下一篇: Linux 运维工具