如何Java程序CPU利用率高

几种常见情况

  • 某个线程CPU利用率一直100%,可能是死循环,可能是Full GC导致的
  • 某个线程一直处于Top10,说明改线程可能有性能问题
  • CPU利用率高的几个线程在不停变化,说明不是由

处理方式

  • top -H找到CPU利用率最高的线程
  • jstack 线程id > dump.txt
  • print "%x\n" 线程id 获取线程16进制
  • grep -nr "16进制" dump.txt

Full GC导致CPU利用率高

  • HashMap并发控制导致CPU使用率高
  • CMS配置参数问题

你可能感兴趣的:(如何Java程序CPU利用率高)