当前位置: 首页 > 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}"
http://www.xdnf.cn/news/702703.html

相关文章:

  • #!/usr/bin/env python
  • JS中的属性描述符
  • Day 20
  • 生成式引擎在不同行业的应用案例
  • 第十章 Java基础-Static静态变量
  • 基于物理约束的稀疏IMU运动捕捉系统
  • spring和Mybatis的各种查询
  • Rust 学习笔记:使用迭代器改进 minigrep
  • 力扣刷题Day 61:子集(78)
  • 【案例94】笛卡尔积导致报“临时表空间不足”
  • bat 批处理通过拖拽,来获取拖入文件的信息
  • 【25-cv-00656】Whitewood律所代理Olga Drozdova 蝴蝶版权图维权案
  • 【Web应用】若依框架:基础篇07功能详解-定时任务
  • 不同坐标系下的 面积微元
  • Android-Room + WorkManager学习总结
  • 2G Nand Jlink烧录报错Failed to allocated 0x1B000000 bytes of memory!
  • 5G 核心网中 NRF 网元的功能、接口及参数详解
  • 8.7 使用 EAP-AKA 进行订阅转移
  • 星图云交通综合应用解决方案:破解交通基建抢建拖建、工程量大等难题,赋能智慧交通
  • 2025年5月AI科技领域周报(5.19-5.25):大模型多模态突破 具身智能开启机器人新纪元
  • DockThor: 免费的在线小分子“虚拟筛选”平台
  • 即插即用!全新记忆回溯策略:一种元启发式算法的进化更新机制,含完整免费MATLAB代码
  • 数字化时代,健康管理系统如何改变健康管理?
  • 数据库与缓存数据不一致的解决方法
  • 动态规划题解——爬楼梯(力扣70 easy)
  • python几行命令实现快速打包apk
  • 卸载 Office PLUS
  • 贪心算法实战篇2
  • mimics导出图像 标注文件
  • 学习日记-day18-5.28