生活随笔
收集整理的這篇文章主要介紹了
linux调优命令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一. 生產環境服務器變慢,診斷思路及性能評估
查看整機性能 top命令查看整機性能 load average平均1、5、15分鐘負載值相加除以3乘100%是否大于60%
系統性能精簡版命令uptime
查看CPU:vmstat -n 2 3第一個參數時間間隔數、第二個參數采樣次數procs r:運行和等待CPU時間片的進程樹原則上是1核CPU運行隊列不超過2,整個系統運行隊列不超過總核數的2倍,否則表示系統壓力過大b:等待資源進程數,比如正等待磁盤I/O、網絡I/O等 CPU us:用戶進程消耗CPU時間百分比,us值高,用戶進程消耗CPU時間多,如果長期大于50%,優化程序sy:內核進程消耗CPU時間百分比id:處于空閑的CPU百分比wa:等待IO的CPU時間百分比st:來自于虛擬機偷取CPU時間的百分比
CPU:查看所有CPU信息 mapstat -P ALL 2 3 %idle
CPU: pidstat -u 1 -p 進程編號 用戶每秒采樣一次內存:free -m
- 經驗值
- 應用程序可用內存/物理內存>70%內存充足
- 應用程序可用內存/物理內存<20%內存不足,需要增加內存
- 20%< 應用程序可用內存/物理內存<70%內存基本夠用
內存:pidstat -p 進程號 -r 采樣間隔數 總共采樣次數(pidstat -p 2545 -r 2 5)硬盤:查看磁盤剩余空間 df -h
網路IO:iostat -xdk 2 3磁盤塊設備分布
- 具體參數解釋
- rkB/s每秒讀取數據量KB
- wkB/s每秒寫入數據量KB
- svctm I/O請求的平均服務時間,單位毫秒
- util一秒鐘有百分之記得時間用于I/O操作。接近100%,表示磁盤帶寬跑滿,需要優化程序或增加磁盤
- rkB/s、wkB/s根據系統不同會有不同值,但規律遵循:長期、超大數據讀寫,肯定不正常,需要優化程序
- scvm的值和await的值接近,表示沒有I/O等待,磁盤性能好
- 如果await的值遠高于scvm的值,表示I/O等待時間太長,需要優化程序或更換磁盤
查看網絡I/O: pidstat -d 2 5 -p 2545
二. CPU占用過高,分析思路及定位
先用top命令找出CPU占比最高的
ps -ef或jps進一步定位,的值是怎樣一個程序給我們惹事
定位到具體線程或代碼 ps -mp 24425 -o THREAD,tid,time
- 參數解釋
- -m 顯示所有線程
- -p pid線程使用CPU的時間
- -o 該參數后是用戶自定義格式
es 6.1 19 - futex_ - - 24463 6-05:04:23
將需要的線程ID轉化為16進制格式(英文小寫格式) printf “%x\n” 有問題的線程ID
- 具體步驟
- 將10進制的線程ID轉化為16進制格式
- jstack 24425 | grep tid(16進制線程ID小寫英文) -A60
總結
以上是生活随笔為你收集整理的linux调优命令的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。