性能排查
1.首先查看平均负载(load average),平均负载可以反映系统的繁忙程度。理想情况下,平均负载等于逻辑cpu个数,这表示每个cpu都恰好被充分利用。如果平均负载大于逻辑cpu个数,表示负载比较重
工具:
top(load average)
uptime
2.CPU使用率
主要分类:
用户态cpu
系统cpu
iowait cpu
中断cpu(硬中断,软中断)
低优先级(ni)cpu
工具:
top(按1 可以查看每个cpu的使用情况)
vmstat(cpu列)
pidstat -u(查看进程cpu使用情况)
3.I/O性能(IO性能分为两类,磁盘I/O及文件系统I/O)
磁盘I/O:
主要关注磁盘处理I/O请求的百分比。及吞吐量。
工具:
iostat -d -x 查看磁盘读写情况
dstat(dsk/total) 磁盘的读写情况
iotop/pidstat -d 进程I/O使用情况
文件系统主要关注:
1.存储空间的使用情况
2.索引节点的使用情况
3.缓存使用情况
4.文件I/O的性能指标 IOPS(r/s,w/s)
工具:
df : 查看文件系统存储空间
df -i : 查看文件系统索引节点使用情况(有时候碰到空间不足的问题,可是用df查看磁盘空间后,却发现剩余空间还有很多。很可能就是过多小文件导致)
pidstat -d 查看文件I/O的性能指标
top/vmstat:查看缓存情况,I/O读写情况。
4.内存使用情况、swap、缓存使用情况
工具:
top:(按M有惊喜)
free:查询内存及swap,缓存的使用情况
pidstat -r :查看进程的内存使用情况
(
缺页异常:
Minflt/s:任务每秒发生的次要错误,不需要从磁盘中加载页
Majflt/s:任务每秒发生的主要错误,需要从磁盘中加载页
)
5.中断及上下文切换情况
中断查询工具:
top(hi:硬中断cpu,si:软中断cpu)
vmstat(in,中断次数)
上下文切换(自愿上下文切换和非自愿上下文切换):
1.一次系统调用的过程,发生了两次的CPU上下文切换(用户态->内核态,内核态->用户态)
2.cswch:表示自愿上下文切换,是指进程无法获取所需资源,导致上下文切换,比如说,I/O,内存不足
3.nvcswch:非自愿上下文切换次数,指进程时间片已到等原因,大量进程争抢CPU。
中断次数变多,说明CPU被中断处理程序占用,需要查看/proc/interrputs文件来分析具体的中断类型
工具:
vmstat(cs,上下文切换次数)
pidstat -w(cswch/s:自愿上下文切换,nvcswch/s:非自愿上文切换)
6.僵尸进程
僵尸进程会占用系统资源,如果很多,则会严重影响服务器的性能
工具:
top:zombie
7:网络
暂不了解
其他:
1.sysstat工具安装
yum -y install sysstat(centos)
包含两个有用的工具:
mpstat:实时查看每个cpu的性能指标,以及所有CPU的平均指标
pidstat:常用进程分析工具,实时查看进程的CPU,内存,I/O及上下文切换等性能
2.进程排查工具
strace:跟踪进程调用路径
lsof:查看进程打开的文件