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