后端扫雷那点事

1. linux  top

top

shift + h 按线程查看cpu消耗情况
1 查看每个核消耗情况
us  过高说明应用程序消耗了大部分cpu
sy  过高表示系统线程切换频繁
wa 表示为在执行过程中等待io所占的百分比
hi 硬件中断(ex:网卡接收数据频繁)

top -p [pid]
pstree -p [pid] 查看进程线程数

2.linux netstat / ss

2

Recv-Q 网络接收队列
一般情况为0,如果持续为非0表示收到的数据已经在本地接收缓冲,应
用程序还没处理,可能是应用程序处理性能下降。
Send-Q 发送队列
一般情况为0,如果持续为非0可能是应用向外发送数据包过快,或者是
对方接收数据包不够快。

netstat –na|grep  端口 (查看应用程序端口是否正常监听)

3.linux vmstat

vmstat

如果CPU的sy和us值相加的百分比接近100%,或者运行队列(r)中等待
的进程数总是不等于0,且经常大于4,同时id也经常小于40,则该系
统受限于CPU;如果bi、bo的值总是不等于0,则该系统受限于内存。
swpd值过高一般情况由于物理内存不够用


4.linux iostat

image

rrqm/s:每秒合并的读请求数量
wrqm/s :每秒合并的写请求数量
r/s :每秒完成的读请求数量
w/s :每秒完成的写请求数量
rsec/s :每秒读取的扇区数量
wsec/s :每秒写入的扇区数量
avgrq-sx :平均请求扇区的大小
avgqu-sz :平均请求队列的长度
await :平均每次请求的等待时间
svctm:   平均每次设备I/O操作的时间 (毫秒)
util :每秒之中有百分之几用于IO操作

util :如果接近100%,通常说明设备能力趋于饱和。 await :包括队列时间和服务时间,一般情况下,await大于svctm,
它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,
说明系统出了问题。 avgqu-sz :队列长度越短越好。

你可能感兴趣的:(后端扫雷那点事)