一、排查java程序出现OOM - 随记
1.1 上传demo.jar包 ,修改启动参数
shell
#设置xmx 16GB ,当出现OOM的时候会在/data/soft/demo/下生成hprof文件
export NACOS_SERVER_ADDR=192.168.1.100:8848
nohup java -Dspring.profiles.active=docker -Djava.security.egd=file:/dev/./urandom -Xmx16384m -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/soft/demo/demo_heapdump.hprof -jar demo-1.0.0-SNAPSHOT.jar &
1.2 上传 arthas-bin-4.0.4.zip ,启动arthas-boot.jar
shell
#上传arthas-bin-4.0.4.zip
mkdir arthas ; unzip -d arthas arthas-bin-4.0.4.zip
cd arthas
java -jar arthas-boot.jar
回车 ,选中demo程序 , 让其attach进入。
输入dashboard 查看状态信息。
输入memory 查看 内存信息
#手动执行生成hprof文件: heapdump /tmp/xxxdump.hprof

1.3 在Windows上,使用 eclipse MemoryAnalyzer 分析 demo_dump.hprof文件
shell
准备:
MemoryAnalyzer-1.16.1.20250109-win32.win32.x86_64.zip 和 openjdk-17_windows-x64_bin.zip
打开软件后,open hprof文件 。
具体分析操作 略
END 结束