K8S容器POD内存快照导出分析处理方案

1. 获取K8S容器POD内存快照

复制代码
# 进入k8s pod
kubectl  exec  -it   POD_NAME   -n  POD_NAMESPACE  --   /bin/sh

# 获取java进程PID
ps   -ef  |   grep  java

# 生成堆快照
jmap -dump:live,format=b,file=test_app_heap.hprof  PID

# 查看堆概要
jmap -heap PID

# 统计前10个内存消耗对象
jmap -histo:live  PID | head -n 10

# 复制pod堆快照文件到宿主机
kubectl   cp  POD_NAMESPACE/POD_NAME:/example_pod/test_app_heap.hprof  test_app_heap.hprof

2. 分析工具

2.1 VisualVM

  1. JDK 自带的图形化工具(建议从官网下载最新版以兼容更多功能)。

  2. 操作步骤:

    ① 打开VisualVM → 点击 File > Load → 选择堆转储文件(如.hprof);

    ② 在 "Heap Dump" 标签页查看整体内存分布(对象数量、占用大小);

    ③ 切换到 "Objects" 视图 → 按占用空间排序(Size降序);

    ④ 选中可疑对象 → 右键 "Show in GC Root Path" → 追踪其GC引用链,定位持有大内存的对象及其引用源。

2.2 Memory Analyzer (MAT)

  1. Eclipse基金会开发的深度内存分析工具(推荐处理大型堆转储)。

  2. 支持检测内存泄漏(如通过 Leak Suspects Report 自动生成泄漏报告);

  3. 提供对象依赖树(Dominator Tree)视图,识别内存瓶颈的关键对象。

相关推荐
淬炼之火3 分钟前
基于Docker Desktop 和 Ubuntu 在 Windows上部署轻量化大模型(Qwen-LLM)
笔记·ubuntu·docker·语言模型·容器
噎住佩奇5 分钟前
k8s-控制器
容器·kubernetes
ProgrammerPulse30 分钟前
K8s 运维告别 “猜谜游戏”:青云云易捷v6.0对接 K8sGPT,AI 赋能一键解锁智能诊断
云原生
是火云哦1 小时前
打包你的开发环境:Docker 从入门到上瘾
运维·docker·容器
今晚打佬虎1 小时前
精准阻断 Docker 容器映射端口:流量路径诊断与 iptables 配置
运维·docker·容器
星图易码1 小时前
星图云开发者平台功能详解 | 微服务管理器:异构服务零门槛无缝集成
微服务·云原生·架构
yuezhilangniao2 小时前
K8s优化-大规模集群优化-大规模K8S优化-性能优化速查表-优化顺序-先阻塞瓶颈再性能瓶颈
容器·性能优化·kubernetes
小二·2 小时前
Go 语言系统编程与云原生开发实战(第4篇):数据持久化深度实战 —— PostgreSQL、GORM 与 Repository 模式
postgresql·云原生·golang
麦兜*2 小时前
深入解析云原生时代的高性能消息中间件:基于Apache Pulsar与Kafka架构对比的万亿级数据吞吐与低延迟实时处理实战
云原生·kafka·apache
KubeSphere 云原生2 小时前
在 KubeSphere 上运行 Moltbot(Clawdbot):自托管 AI 助手的云原生实践
docker·云原生·容器