🍀 整機:top
📌 uptime,系統性能命令的精簡版
🍀 CPU:vmstat
📌 查看 CPU(包含不限於)
vmstat -n 2 3
一般vmstat工具的使用是通過兩個數字參數來完成的,第一個參數是採樣的時間間隔數單位是秒,第二個參數是採樣的次數
- procs
- r:運行和等待CPU時間片的進程數,原則上1核的CPU的運行隊列不要超過2,整個系統的運行隊列不能超過總核數的2倍,否則代表系統壓力過大
- b:等待資源的進程數,比如正在等待磁盤I/O、網絡I/O等
- cpu
- us:用戶進程消耗CPU時間百分比,us值高,用戶進程消耗CPU時間多,如果長期大於50%,優化程序;
- sy:內核進程消耗的CPU時間百分比;
- us + sy 參考值爲80%,如果 us + sy 大於80%,說明可能存在CPU不足
- id:處於空閒的CPU百分比
- wa:系統等待IO的CPU時間百分比
- st:來自於一個虛擬機偷取的CPU時間的百分比
📌 查看額外
⏳ 查看所有cpu核信息
- mpstat -P ALL 2
⏳ 每個進程使用cpu的用量分解信息
- pidstat -u 1 -p 進程編號
🍀 內存:free
📌 應用程序可用內存數
- 經驗值
- 應用程序可用內存/系統物理內存 > 70%內存充足
- 應用程序可用內存/系統物理內存 < 20%內存不足,需要增加內存
- 20% < 應用程序可用內存/系統物理內存 < 70%內存基本夠用
📌 查看額外
⏳ pidstat -p 進程號 -r 採樣間隔秒數
🍀 硬盤:df
📌 查看磁盤剩餘空間數
🍀 磁盤IO:iostat
📌 磁盤I/O性能評估
磁盤塊設備分佈
rkB/s 每秒讀取數據量kB;
wkB/s每秒寫入數據量kB;
svctm I/O請求的平均服務時間,單位毫秒;
await I/O請求的平均等待時間,單位毫秒;值越小,性能越好;
util 一秒鐘有百分幾的時間用於I/O操作。接近100%時,表示磁盤帶寬跑滿,需要優化程序或者增加磁盤;
rkB/s、wkB/s 根據系統應用不同會有不同的值,但有規律遵循:長期、超大數據讀寫,肯定不正常,需要優化程序讀取。
svctm的值與await的值很接近,表示幾乎沒有I/O等待,磁盤性能好,
如果 await 的值遠高於 svctm 的值,則表示 I/O 隊列等待太長,需要優化程序或更換更快磁盤。
📌 查看額外
⏳ pidstat -d 採樣間隔秒數 -p 進程號
🍀 網絡IO:ifstat
📌 默認本地沒有,下載 ifstat
wget http://gael.roualland.free.fr/ifstat/fistat-1.1.tar.gz
tar -zxvf ifstat-1.1.tar.gz
cd ifstat-1.1
./configure
make
make install