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

使用 gdb 分析进程内存问题

正确方法一:利用gcore直接对进程“搜魂”(无须重启,抓取最真实内存)

如果cri-docker进程目前已经吃了很多内存,千万别重启。我们可以直接通过 Linux 的gcore(GNU 内存转储工具)把该进程的全部内存直接“镜像”下来。

sudo apt install gdb -y # Ubuntu/Debian # 或 sudo yum install gdb -y # CentOS/RHEL

找到cri-dockerd的进程 PID:

pidof cri-dockerd # 或者从你之前的系统日志看,PID 是 56786

抓取核心转储(Core Dump)文件:

# 这会把进程当前的 60G 内存生成一个映像文件(确保目标磁盘空间足够!) sudo gcore -o cri_docker_memory.dump <cri-dockerd的PID>

使用viewcoregdb进行离线账单分析:拿到 dump 文件后,可以在任何装有 Go 环境的开发机上,使用 Go 官方的viewcore工具(或者直接用 gdb)来强行读取里面的 Goroutine 列表和内存堆栈:

# 查看当前内存里堆积的所有 Goroutine 状态 gdb /usr/bin/cri-dockerd cri_docker_memory.dump -ex "thread apply all bt" > goroutines_track.log

通过goroutines_track.log,你可以直接肉眼看到几万个卡在execstreamnetwork上的僵尸线程。

gdb 介绍

http://www.jsqmd.com/news/1095138/

相关文章:

  • 全面解析!2026年AI论文写作工具红黑榜,选对工具不踩坑
  • 从零构建内网渗透工具箱:核心架构、工具选型与实战避坑指南
  • RandLA-Net:如何用随机采样与局部聚合,让百万点云分割快如闪电
  • 终极指南:如何简单重置JetBrains IDE试用期并免费延长30天
  • TLV320AIC34音频编解码器评估板:从硬件拆解到软件配置的完整指南
  • 2026深度实测必看:7款主流AI编程软件个人体验评测|SDK兼容数据格式避坑选型参考
  • JMeter自动化性能测试实战:从脚本管理到CI/CD集成全流程解析
  • [PTA]7-23 币值转换:从算法到编码,详解中文数字财务转换的核心逻辑
  • 从ABIDE数据集出发:构建自闭症脑影像分析实战指南
  • AFE44x0血氧评估板硬件设计:电源、时钟与接口的工程实践解析
  • TI评估模块安全使用指南:规避法律风险与工程实践要点
  • 基于MSP430的电容触摸开发板实战:从原理到PC交互应用
  • TI ADS1x9xECG-FE评估套件:从硬件解析到软件实战的ECG/呼吸监测开发指南
  • YOLO数据增强与训练策略- 第63篇:Copy-Paste数据增强在实例级别的应用
  • STM32F4 DMA实战:从零构建高效内存搬运程序
  • 现场电学实验盲盒方案的缺点
  • 【Git】Windows 环境下 Git 与 TortoiseGit 的协同安装与配置实战(含 Git 2.23.0 与 TortoiseGit 2.8.0)
  • GTA5线上小助手传送功能深度解析:从基础到高级的3种实战应用
  • 深入解析MSP-GANG编程器:固件指令、通信协议与量产优化策略
  • TVB1440 EVM评估板实战指南:信号调理与高速PCB设计解析
  • ABAP Dialog开发疑难解析(一)——屏幕编辑器启动失败的深度排查
  • Windows系统文件api-ms-win-core-registry-l1-1-0.dll丢失找不到问题解决
  • 无人机集群协同感知的三维编队优化设计
  • 生产管理看什么指标?终于有人把OEE、OLE、DLE这3个生产管理指标说清了!
  • D3KeyHelper:暗黑3技能自动化终极指南,解放双手轻松冲层
  • AMC7834EVM评估板软硬件配置与调试全攻略
  • 智能代理模式在渗透测试中的应用:从架构设计到实战构建
  • MSP-GANG.dll API实战:嵌入式量产烧录自动化与安全配置指南
  • 面向航空训练的飞参智能解析与飞行动作偏差识别系统实现方案
  • TLV320ADC3101 ADC信号链解析:从抽取滤波到AGC配置实战