当前位置: 首页 > news >正文

分析Docker容器Jvm 堆栈GC信息

# 打印jvm启动参数
docker exec -ti <容器名> jcmd 1 VM.flags-XX:CICompilerCount=3 -XX:InitialHeapSize=1073741824 -XX:MaxHeapSize=2147483648 -XX:MaxMetaspaceSize=157286400 -XX:MaxNewSize=715653120 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=357564416 -XX:OldSize=716177408 -XX:ThreadStackSize=512 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC-XX:InitialHeapSize	1GB (1073741824)	JVM 启动时初始堆大小
-XX:MaxHeapSize	2GB (2147483648)	堆内存最大限制(​​已占满容器 2GB 内存的 100%​​,风险极高!)
-XX:MaxMetaspaceSize	150MB (157286400)	元空间(Metaspace)上限
-XX:MaxNewSize	~682MB (715653120)	年轻代(Young Gen)最大值
-XX:+UseParallelGC	启用	使用 Parallel Scavenge 垃圾回收器(适合吞吐量优先场景)# 打印GC信息
docker exec -it <容器名> jstat -gc 1 1s# 输出堆栈信息
docker exec -ti <容器名> jmap -dump:live,format=b,file=/heap.hprof 1
docker cp <容器名>:/heap.hprof .# 手动执行gc  
docker exec -ti <容器名> jcmd 1 GC.run# 打印GC信息
docker exec -it <容器名> jstat -gc 1 1s
# 堆栈是否正常
docker exec -it <容器名> jstat -gcutil 1 1s# 使用scp将堆栈信息下载到本地 或者 其他工具可以直接拖拽

下载 eclipse mat
https://mirrors.bfsu.edu.cn/eclipse/mat/

我下载的是 https://mirrors.bfsu.edu.cn/eclipse/mat/1.16.0/rcp/  jdk最低版本为17 在下载完成后解压,修改配置文件

打开 MemoryAnalyzer.ini 在 -vmargs 上面新增 

-vm
D:/Program Files/Java/jdk-17.0.14/bin/javaw.exe整体内容如下-startup
plugins/org.eclipse.equinox.launcher_1.6.900.v20240613-2009.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.1100.v20240722-2106
-vm
D:/Program Files/Java/jdk-17.0.14/bin/javaw.exe
-vmargs
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
-Xmx1024m

双击运行 MemoryAnalyzer.exe,导入下载好的 heap.hprof

查看内存占用信息

点击泄漏报告,会自动生成对应的报告,可以具体到某行代码,分析内存占用居高的问题

相关文章:

  • 【Linux】网络基础2
  • TS类型操作工具汇总
  • switch-case 巧妙使用(case穿透)
  • InfluxDB-数据看板实现流程:从数据采集到可视化展示
  • Spring Boot 自动装配原理详解
  • Cascadeur2025如何无限制导出FBX文件
  • 无偿帮写服务器配置|限时30天|名额100
  • 聊聊JetCache的CachePenetrationProtect
  • Xianyu AutoAgent,AI闲鱼客服机器人
  • 深度学习的相关术语介绍(杂乱版-想到啥介绍啥)
  • uniapp-商城-56-后台 新增商品(弹窗属性继续分析)
  • UDP--DDR--SFP,FPGA实现之指令监测模块实现
  • 专题二:二叉树的深度搜素(二叉树的所有路径)重点理解回溯算法的”恢复现场“
  • 在VSCode中接入DeepSeek的指南
  • 携固态电池、新形态钢壳叠片电池等产品 豪鹏科技将亮相CIBF 2025
  • 【HarmonyOS】ArkTS开发应用的横竖屏切换
  • 智能工厂MES系统示例
  • Java大师成长计划之第21天:Spring Boot快速入门
  • TCP协议十大核心特性深度解析:构建可靠传输的基石
  • c语言第一个小游戏:贪吃蛇小游戏08(贪吃蛇完结)
  • “典孝急乐批麻蚌赢”:互联网“八字真言”与当代赛博赢学
  • 历史地理学者成一农重回母校北京大学,担任历史系教授
  • 中美经贸中方牵头人、国务院副总理何立峰出席新闻发布会表示:中美达成重要共识,会谈取得实质性进展
  • 《瞭望》周刊社原总编辑、党委书记姬斌逝世,享年67岁
  • 印度最新发声:对所有敌对行动均予以反击和回应,不会升级冲突
  • 重温经典|开播20周年,仙剑的那些幕后你知道吗?