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

自动生成程序的heap文件

写了一个可以自动生成heap文件的脚本,heap文件名由程序占用的内存和当前时间命名。

#!/bin/bash# 用法示例: ./getheap.sh
# 文件名格式: xx_{PSS_MB}M_{HHMMSS}.heapset -euo pipefailPROCESS_NDMLOCMAP="process"
HEAP_DIR="./heap"mkdir -p "${HEAP_DIR}"# 获取进程PID
pid=$(pgrep -f "${PROCESS_NDMLOCMAP}" | head -n1)
if [[ -z "${pid}" ]]; thenecho "未找到运行中的 ${PROCESS_NDMLOCMAP} 进程"exit 1
fi# 获取内存占用(PSS,单位MB)
# 读取/proc/$pid/smaps,统计所有Pss: 行的和
pss_kb=$(awk '/^Pss:/ {sum += $2} END {print sum}' /proc/"${pid}"/smaps)
if [[ -z "${pss_kb}" ]]; thenecho "无法获取进程PSS内存"exit 1
fi
pss_mb=$(( (pss_kb + 1023) / 1024 ))# 获取当前时间(时分秒)
datetime=$(date +%H%M%S)# 组装文件名
heapfile="${HEAP_DIR}/xx_${pss_mb}M_${datetime}.heap"# 实际抓取 heap 的命令(请根据实际情况修改)
# 例如通过 telnet 到 8880 端口抓取,结果重定向到目标文件
telnet 127.0.0.1 8880 > "${heapfile}"echo "Heap profile 已保存:${heapfile}"

相关文章:

  • 基于CATIA参数化圆锥建模的自动化插件开发实践——NX建模之圆锥体命令的参考与移植(三)
  • B2146 Hermite 多项式
  • 简历中项目经历怎么写?
  • AI--知识库RAG实战
  • 手写字魔法消除1:数据集说明(含下载链接)
  • 让DeepSeek去除AI痕迹的指令
  • 高并发订单服务库存超卖解决方案
  • Python常用模块实用指南
  • Agent 的7 中设计模式
  • web端 firebase google analytics使用,入门级
  • 3099. 哈沙德数
  • Rust并发编程实践指南
  • 对于Const关键字修饰的对象
  • CANdela/Diva系列9--CDD文件在CANoe工程的应用1
  • 精准监测,健康无忧--XC3576H工控主板赋能亚健康检测仪
  • Linux入门——入门常用基础指令(2)
  • 每日算法 -【Swift 算法】正则表达式匹配:支持 `.` 和 `*`
  • 端到端测试最佳实践:从入门到精通的完整指南
  • 【AUTOSAR OS 】保护功能解析:从原理到应用与源代码解析(上篇)
  • Docker 前端镜像容器部署指南
  • 晋江网站建设哪家好/优化服务公司
  • 做电影网站采集什么意思/百度推广服务费一年多少钱
  • b2c的电子商务网站/优化大师下载电脑版
  • 广州做网站哪个好/重庆seo团队
  • 网站的优势/合肥网站建设
  • 网站设计公司竞争优势/济南百度推广公司电话