此部分主要为机器,系统的排查,不涉及具体的服务 。
目的为:迅速定位机器到底哪里出的问题。是CPU,内存,还是磁盘的问题。
后续再查看具体是什么服务影响的。
可以通过看监控来确认【没报警就是目前正常】
没必要非得上机器看。。。
load.1min
cpu.busy
iowait 【监控每个核都有,】
memfree.percent
快速确认
uptime
查看load。
vmstat -SM -n 1
查看整体的内存、IO、CPU等。
具体【进程,CPU,磁盘IO,网络】
内存排查
free -m 看整体内存使用情况。【udp机器的tcpup比较占用内存】
ps aux|sort -nr -k4|head -10
CPU排查
ps aux|sort -nr -k3|head -10
排查哪个进程占的CPU多。【这个比例应该是 单核的】
多核CPU的资源是否分配平衡。有没有某个核打满的情况。
mpstat -P ALL 1
查看所有CPU的,情况。 【%dile即为空闲CPU比例】 【%iowait 即为%wa】
磁盘 / IO 排查
iotop 【root 权限】
查看具体进程的IO。
iostat -dm 1
查看各个磁盘的IO情况。
iostat -dx 1|awk '{print $1" "$10" "$11" "$12}'
查看各个磁盘的await 和 util。
网络排查
iftop 看网络负载
其他类似指令
【避免某些机器没有这些指令】
iostat -c 只查看CPU使用 %dile即为空闲CPU比例【】
其他排查方法:
ps aux 【Java线程 ps -Lp xxxx cu】