Linux系統性能查詢命令


top命令(整機)

可以查看進程的cpu占用率,和內存占用率。uptime 是top的精簡版只看整機,不看各進程。

load average: 0.00, 0.00, 0.00  表示系統1分鍾,5分鍾,15分鍾的負載值,如果三個數平均值大於0.6,說明系統負載較高。

vmstat(CPU):

例如vmstat  -n 2 3  每2秒采樣一次,采樣3次

— proce r:表示運行和等待CPU時間片的進程數,原則上1核的運行隊列不要超過2,整個系統的運行隊列不能超過核數的2倍。b:表示等待資源的進程數,比如正在等待磁盤I/O,網絡I/O等。

— cpu  us:用戶消耗CPU時間百分比,us值高,用戶消耗CPU時間多,如果長期大於50%需要優化程序。 sy:內核消耗進程的CPU時間百分比。us+sy大於80%,說明可能CPU不足。

pidstat(CPU):

mpstat -P ALL 2     查看所有CPU核信息

pidstat -u 1 -p 進程號    查看進程使用CPU的用量分解信息

pidstat -p 進程號  -r 秒數   查看進程內存的占用率 每幾秒采樣一次

pidstat -d 2 -p 進程號    查看進程磁盤占用情況

free(內存):

free -m 查看系統內存單位M

df(硬盤):

df -h  查看硬盤占用空間

iostat(磁盤IO):

iostat -xdk 2 3  查看磁盤快設備分布

rKB/s wKb/s 表示每秒讀寫量,svctm I/O await I/O分別表示請求的平均服務時間和等待時間,單位毫秒 值接近說明沒有等待磁盤性能好。

ifstat(網絡IO):

ifstat  查看網絡IO情況

 

CPU占用過高案例排查分析:

1 用top命令查找出CPU占比最高的進程 id

2 ps -ef 或者jps進一步定位,得知哪個后台程序

3 ps -mp 進程號 -o  THREAD,tid, time    定位到具體線程

4 將需要的線程ID轉換為16進制格式(英文小寫格式)

5 jstack 進程ID | gep tid(16進制線程ID小寫字母) -A60  查看線程出現問題的代碼日志

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM