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

分析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

查看内存占用信息

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

http://www.xdnf.cn/news/5786.html

相关文章:

  • 【简单易懂】SSE 和 WebSocket(Java版)
  • 删除购物车中一个商品
  • Unity
  • KMDA-6920成功助力印度智慧钢厂SCADA系统,打造高效可靠的生产监控平台
  • 菜狗的脚步学习
  • 【android bluetooth 框架分析 02】【Module详解 7】【VendorSpecificEventManager 模块介绍】
  • 前端开发避坑指南:React 代理配置常见问题与解决方案
  • BFS算法篇——打开智慧之门,BFS算法在拓扑排序中的诗意探索(上)
  • 机器学习——聚类算法练习题
  • [Java实战]Spring Boot 3构建 RESTful 风格服务(二十)
  • java使用 FreeMarker 模板生成包含图片的 `.doc` 文件
  • RustDesk:开源电脑远程控制软件
  • 端侧智能重构智能监控新路径 | 2025 高通边缘智能创新应用大赛第三场公开课来袭!
  • 霍夫圆变换全面解析(OpenCV)
  • 6. 多列布局/用户界面 - 杂志风格文章布局
  • 手机换IP真的有用吗?可以干什么?
  • spark-local模式
  • WM_TIMER定时器消息优先级低,可能会被系统丢弃,导致定时任务无法正常执行
  • T-BOX硬件方案深度解析:STM32与SD NAND Flash存储的完美搭配
  • Linux中find命令用法核心要点提炼
  • spark-standalone
  • http断点续传
  • Games101作业四
  • 在Ubuntu服务器上部署Label Studio
  • 从SAM看交互式分割与可提示分割的区别与联系:Interactive Segmentation Promptable Segmentation
  • Java基础(IO)
  • Android Native 之 自定义进程
  • 【氮化镓】电子辐照下温度对GaN位移阈能的影响
  • 开源网络地图可视化第五章学习指南
  • 【认知思维】光环效应:第一印象的持久力量