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 结束

相关推荐
NamoAmitabha1286 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No77 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌8 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121388 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck9 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_7414848110 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS10 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿11 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog11 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞12 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python