JAVA 问题记录

 

OOM(内存溢出)

 

先查看java 进程pid

jps

使用jmp 把内存导出 查看那些对象内存占用比较高

jmp -histo <pid> >/histo.txt

在可以看堆内存使用情况

jmp -heap <pid> >/heap.txt

 

 

定位Java应用CPU负载过高问题

通常, 我们会采用top -Hp + jstack 命令组合定位问题. 基本步骤如下:
  1. top -Hp <pid> 列出java进程内的线程。
  2. 找出cpu使用率高的线程Id, 并转换成十六进制, printf "%x" <thread id>
  3. jstack <pid> 打印线程栈,并找出nid与步骤2打印的id相同的线程
  4. 查看线程栈,定位到执行的代码
posted @ 2023-08-08 15:31  钟鼎山林  阅读(7)  评论(0编辑  收藏  举报