java定位常见性能

(1)CPU占满

  1、使用top查看CPU占满的进程

       

  2、通过执行top -Hp 32805 查看Java线程情况

        

   3、执行 printf '%x' 32826 获取16进制的线程id,用于dump信息查询,结果为 803a。最后我们执行jstack 32805 |grep -A 20 803a 来查看下详细的dump信息。

   

 (2)查看死锁:死锁会导致耗尽线程资源,占用内存,表现就是内存占用升高,CPU不一定会飙升(看场景决定),如果是直接new线程,会导致JVM内存被耗尽,报无法创建线程的错误,这也是体现了使用线程池的好处。

  通过ps -ef|grep java命令找出 Java 进程 pid,执行jstack pid 即可出现java线程堆栈信息

posted on 2020-09-04 20:54  hdc520  阅读(151)  评论(0编辑  收藏  举报

导航