Linux随记(二十三 )

一、排查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 结束

相关推荐
HalvmånEver4 小时前
Linux:线程互斥
java·linux·运维
番茄灭世神5 小时前
Linux应用编程介绍
linux·嵌入式
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [drivers][mmc][mmc_sdio]
linux·笔记·学习
Forsete5 小时前
LINUX驱动开发#9——定时器
linux·驱动开发·单片机
JY.yuyu5 小时前
Docker常用命令——数据卷管理 / 端口映射 / 容器互联
运维·docker·容器
森G5 小时前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
驱动探索者5 小时前
linux mailbox 学习
linux·学习·算法
lpruoyu6 小时前
【Docker进阶-06】docker-compose & docker swarm
运维·docker·容器
China_Yanhy6 小时前
入职 Web3 运维日记 · 第 8 日:黑暗森林 —— 对抗 MEV 机器人的“三明治攻击”
运维·机器人·web3
艾莉丝努力练剑6 小时前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann