mpstat相似vmstat,但能詳細到某個cpuhtml
http://blog.csdn.net/joeyon1985/article/details/46682939linux
http://www.xitongzhijia.net/xtjc/20141203/31828_2.htmlios
內存瓶頸:網絡
free,vmstat(進程,內存,虛擬內存狀況)ssh
cpu瓶頸:tcp
top -H (按cpu消耗排序)工具
ps -Lp pid cu (按某進程對菜譜消耗排序)性能
網絡瓶頸:spa
根據CPU中的%iowait來判斷.net
磁盤瓶頸:
iostat(磁盤總體TPS,IO讀寫狀況), iotop定位到進程
應用瓶頸
https://mp.weixin.qq.com/s/97ZHAF-IStTqs_4vB7ltAA
vmstat:虛擬內存統計
比較合理的數值:
CPU 利用率,若是 CPU 有 100% 利用率,那麼應該到達這樣一個平衡:65%-70% User Time,30%-35% System Time,0%-5% Idle Time;
• 上下文切換,上下文切換應該和 CPU 利用率聯繫起來看,若是能保持上面的 CPU 利用率平衡,大量的上下文切換是能夠接受的;
• 可運行隊列,每一個可運行隊列不該該有超過1-3個線程(每處理器),好比:雙處理器系統的可運行隊列裏不該該超過6個線程。
Procs
r:等待運行的進程數。若是等待運行的進程數越多,意味着CPU很是繁忙。
b:處在非中斷睡眠狀態的進程數。意味着進程被阻塞 如等待IO資源。
Memory
swpd:已使用的虛擬內存大小。若是虛擬內存使用較多,可能系統的物理內存比較吃緊
Swap
si,so:從磁盤交換到內存/從內存交換到磁盤的交換頁數量
內存夠用的時候,這2個值都是0,若是這2個值長期大於0時,系統性能會受到影響,磁盤IO和CPU資源都會被消耗。
IO
System
CPU
https://www.cnblogs.com/kerrycode/p/6208257.html
iostat主要用於監控系統設備的IO負載狀況,
能夠獲得 磁盤每秒傳輸次數,每秒磁盤讀取/寫入量。
iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盤讀寫速度單位爲KB) iostat -d -m 2 #查看TPS和吞吐量信息(磁盤讀寫速度單位爲MB) iostat -d -x -k 1 10 #查看設備使用率(%util)、響應時間(await) iostat -c 1 10 #查看cpu狀態
https://www.cnblogs.com/xiuluo--angel/p/7086637.html
iotop命令是一個用來監視磁盤I/O使用情況的top類工具。
http://man.linuxde.net/iotop
netstat命令是一個監控TCP/IP網絡的很是有用的工具,它能夠顯示路由表、實際的網絡鏈接以及每個網絡接口設備的狀態信息。
[root@xiesshavip002 ~]# netstat -a # 列出全部端口 [root@xiesshavip002 ~]# netstat -at # 列出全部TCP端口 [root@xiesshavip002 ~]# netstat -au # 列出全部UDP端口
[root@xiesshavip002 ~]# netstat -l # 只顯示監聽端口 [root@xiesshavip002 ~]# netstat -lt # 顯示監聽TCP端口 [root@xiesshavip002 ~]# netstat -lu # 顯示監聽UDP端口 [root@xiesshavip002 ~]# netstat -lx # 顯示監聽UNIX端口
[root@xiesshavip002 ~]# netstat -s # 顯示全部端口的統計信息 [root@xiesshavip002 ~]# netstat -st # 顯示全部TCP的統計信息 [root@xiesshavip002 ~]# netstat -su # 顯示全部UDP的統計信息
[root@xiesshavip002 ~]# netstat -p
[root@xiesshavip002 ~]# netstat -r
[root@xiesshavip002 ~]# netstat -antp | grep ssh
[root@xiesshavip002 ~]# netstat -antp | grep 22
https://www.cnblogs.com/xieshengsen/p/6618993.html
https://www.jianshu.com/p/b9e942f3682c
查看tcp各類狀態:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 1634
CLOSE_WAIT 237
ESTABLISHED 2081
LAST_ACK 200