一,线上机器CPU 100%怎么排查定位解决?
1,定位耗费CPU的进程
top -c,显示进程列表,输入P按照使用率排序显示
2,定位耗费CPU的线程
top -Hp 453,数字是进程ID,然后输入P,按照CPU使用率排序显示
3,定位哪段代码导致CPU使用率过高
printf "%x\n" 1232 ,把线程的PID转换成16进制
jstack 343 | grep '0x41e8' -C5 -color
使用jstack打印进程的堆栈信息,而且通过grep 那个线程的16进制PID,找到那个线程关联的东西,这个时候可以再打印出的代码里看到是那个类的哪个方法导致这个cpu 100 % 的问题
二,磁盘空间快满了怎么办?
df -h 先查看,磁盘空间使用的情况
find / -size +1000M |xargs ls -lh,找到大于1000M的文件
或者du -h >fs_du.log,看各个目录的占用空间大小