线上机器CPU 100%怎么排查定位解决?

一,线上机器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,看各个目录的占用空间大小

你可能感兴趣的:(常见问题记录)