日本三级片在线观看视频_西西大胆午夜人体视频无码_少妇无码一区二区_亚洲天堂超碰_极品少妇被猛的白浆直流_91精品云霸高清中文字幕_草草五月天伊人_久久少妇无码专区_欧美激欧美啪啪5老太_日韩在线在线成人

幫助中心 >  技術(shù)知識庫 >  云服務(wù)器 >  服務(wù)器教程 >  Linux系統(tǒng)資源監(jiān)控實(shí)戰(zhàn):pidstat命令解析

Linux系統(tǒng)資源監(jiān)控實(shí)戰(zhàn):pidstat命令解析

2025-12-05 17:54:55 28

歡迎來到藍(lán)隊(duì)云技術(shù)小課堂,每天分享一個(gè)技術(shù)小知識。

 

一、pidstat是什么?為什么運(yùn)維工程師必須掌握它?

pidstatsysstat工具包中的一個(gè)強(qiáng)大命令,專門用于監(jiān)控Linux系統(tǒng)中進(jìn)程級別的資源使用情況。與top、htop等工具不同,pidstat能夠提供按進(jìn)程、按用戶的詳細(xì)資源統(tǒng)計(jì),并且可以記錄歷史數(shù)據(jù)進(jìn)行分析。

 

為什么選擇pidstat而不是其他工具?

工具

優(yōu)勢

劣勢

top/htop

實(shí)時(shí)交互,界面直觀

歷史數(shù)據(jù)難追蹤,批量監(jiān)控不便

ps aux

快照信息,輕量級

瞬時(shí)數(shù)據(jù),無法看趨勢變化

pidstat

可周期性監(jiān)控,可記錄歷史,可聚合分析

需要主動運(yùn)行,無交互界面

 

 

一、安裝與基礎(chǔ)使用

# Ubuntu/Debian sudo apt-get install sysstat

# CentOS/RHEL sudo yum install sysstat

# 啟用數(shù)據(jù)收集(默認(rèn)每10分鐘收集一次) sudo systemctl enable sysstat sudo systemctl start sysstat

 

最簡單的使用:查看所有進(jìn)程的CPU使用

# 查看所有進(jìn)程的CPU使用情況 pidstat

image.png


三、pidstat的核心功能深度解析

3.1 CPU監(jiān)控模式(最常用)

基本語法:

# 每隔2秒統(tǒng)計(jì)一次,共統(tǒng)計(jì)5次 pidstat 2 5

 

實(shí)戰(zhàn)場景:發(fā)現(xiàn)CPU占用異常的進(jìn)程

# 按CPU使用率排序查看 pidstat | sort -k8 -rn | head -10

# 持續(xù)監(jiān)控,每2秒刷新,重點(diǎn)觀察%usr(用戶態(tài)CPU)和%system(內(nèi)核態(tài)CPU) pidstat -u 2

 

關(guān)鍵指標(biāo)解析:

%usr:進(jìn)程在用戶態(tài)運(yùn)行的時(shí)間百分比

%system:進(jìn)程在內(nèi)核咨詢服務(wù)的時(shí)間百分比

%wait:進(jìn)程等待I/O的時(shí)間百分比

%CPU:總CPU使用率 = %usr + %system + %guest

CPU:進(jìn)程最后運(yùn)行的CPU編號

 

3.2 內(nèi)存監(jiān)控模式

基本用法:

# 查看內(nèi)存使用情況 pidstat -r

image.png

指標(biāo)深度解析:

指標(biāo)

含義

診斷價(jià)值

minflt/s

次要缺頁異常(每秒)

從緩存/內(nèi)存加載數(shù)據(jù),正常情況

majflt/s

主要缺頁異常(每秒)

從磁盤加載數(shù)據(jù),需關(guān)注!

VSZ

虛擬內(nèi)存大小

進(jìn)程申請的地址空間

RSS

實(shí)際物理內(nèi)存

進(jìn)程實(shí)際使用的物理內(nèi)存

%MEM

內(nèi)存使用百分比

直觀的內(nèi)存占用比例

 

實(shí)戰(zhàn)場景:發(fā)現(xiàn)內(nèi)存泄漏

# 監(jiān)控Java進(jìn)程的內(nèi)存增長

pidstat -r -p 1234 1 60 | tee java_memory.log

 

# 分析輸出,如果RSS持續(xù)增長不釋放,可能存在內(nèi)存泄漏

# 注意觀察majflt/s,如果持續(xù)很高說明頻繁換頁,內(nèi)存不足

 

、pidstat高級技巧

4.1 按用戶聚合統(tǒng)計(jì)

# 查看每個(gè)用戶的資源使用匯總

pidstat -u -t

# 或

pidstat -u | awk '{user[$2]+=$8} END{for(u in user) print u, user[u]}' | sort -k2 -rn

 

5.2 監(jiān)控子進(jìn)程

# 監(jiān)控進(jìn)程及其所有子進(jìn)程

pidstat -T CHILD

# 輸出會包含父進(jìn)程和所有子進(jìn)程的聚合統(tǒng)計(jì)

 

5.3 導(dǎo)出數(shù)據(jù)用于分析

# CSV格式輸出,方便導(dǎo)入Excel或Python分析

pidstat -urd 1 60 --human | awk 'BEGIN{OFS=","} NR>3{print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14}' > monitoring.csv

 

# 使用gnuplot繪圖

pidstat -u 1 300 | grep java | awk '{print $1, $8}' > cpu_data.txt

gnuplot -e "set terminal png; set output 'cpu_usage.png'; plot 'cpu_data.txt' with lines title 'Java CPU Usage'"

 

五、實(shí)踐總結(jié)

掌握pidstat,你就能在性能問題出現(xiàn)時(shí),快速定位到具體的進(jìn)程和資源瓶頸,這是運(yùn)維工程師必備的核心技能之一。建議在日常工作中多加練習(xí),形成肌肉記憶,在真正的生產(chǎn)故障來臨時(shí),你就能從容應(yīng)對。

 

更多技術(shù)知識,藍(lán)隊(duì)云期待與你一起探索。

提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: