*******性能监测
mpstat类似vmstat,但能详细到某个cpu
http://blog.csdn.net/joeyon1985/article/details/46682939
http://www.xitongzhijia.net/xtjc/20141203/31828_2.html
内存瓶颈:
free,vmstat(进程,内存,虚拟内存情况)
cpu瓶颈:
top -H (按cpu消耗排序)
ps -Lp pid cu (按某进程对菜谱消耗排序)
网络瓶颈:
根据CPU中的%iowait来判断
磁盘瓶颈:
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端口
- 列出所有处于监听状态的 Sockets
[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的统计信息
- 显示 PID 和进程名称
[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
来源:oschina
链接:https://my.oschina.net/u/3705388/blog/1621808