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

相关推荐
小安运维日记4 分钟前
RHCA - DO374 | Day01:使用红帽Ansible自动化平台开发剧本
运维·服务器·云原生·自动化·云计算·ansible
刘岩Tony25 分钟前
ssh别名和多服务器同步文件
运维·服务器·ssh
zzy208874027125 分钟前
自定义服务器实现时间同步
运维·服务器
LXY_BUAA29 分钟前
在电脑中安装双系统(win11 + linux)20251019
linux·运维·服务器
小白银子1 小时前
零基础从头教学Linux(Day 54)
linux·windows·python
---学无止境---1 小时前
Linux中inode节点号的获取相关函数的实现
linux
一文解千机2 小时前
Termux 安装盘搜搜PanSou,快速找到网盘资源链接,支持各大网盘,自定义部署,数据存储到手机,打造移动搜索资源库
linux·termux·盘搜搜·pansou·资源搜索·网盘资源链接搜索·手机网盘搜索
小蜗快跑丶2 小时前
内网构建https
运维·服务器
啊森要自信2 小时前
【MySQL 数据库】使用C语言操作MySQL
linux·c语言·开发语言·数据库·mysql
做运维的阿瑞2 小时前
DevOps 生命周期完全指南
运维·容器·devops