先核对 target.pid、collectorPid、complete 和扫描范围,再看 findings 与 request。
省略目标只表示执行代码的当前进程;在独立子进程中诊断宿主必须显式传入宿主 PID。 snapshot 返回完整区域数据;analyze 离线分析;diff 对比同一进程实例、同范围的完整快照;format 不重新采集。
用 JSON.save/JSON.load 保存和恢复纯数据,无须释放句柄。诊断报告默认仅显示榜单前几项。 区域提交不是物理 RAM,保护页分配不是线程栈计数,增长不是泄漏证明,候选空闲区不保证分配成功。
只支持 x86 目标;不能确定运行时 LAA 或遇到不支持的架构时明确失败,不静默截断。
AI快速选择入口
首次排查内存不足/OOM与碎片
import process.memoryMap;
var report,err = process.memoryMap.diagnose(,{requestBytes=128*1048576;top=5});
if(!report) return {error=err};
return report;
保存和复查现场
不作无证据的结论
进程内存诊断:内存不足、连续大块分配失败、地址空间碎片、保留区与内存增长。
当前或指定 x86 进程,只查询区域元信息、不读取内存内容。
AI 首选 diagnose;保存及前后比较使用 snapshot + diff。
离线分析快照,不查询进程,不修改输入。
options: top=8(0~1000)、requestBytes、alignment(分配粒度的正整数倍)。
失败返回 null,err。
一次获得精简诊断表;target 为 PID/process 对象,省略仅表示当前进程。
options 可指定 requestBytes、top、resolveNames、startAddress、endAddress、timeoutMs、maxRegions、counters、threadCount。
失败返回 null,err;扫描中断则报告 complete=false。
按地址区间比较完整快照,不把区域拆分误认为分配变化。
检查进程创建身份及相同扫描范围;拒绝不完整快照。
options.top=20;仅截断展示,不截断汇总。增长不是泄漏证明。失败返回 null,err。
将 snapshot/diagnosis/diff/query 格式化为简短 CRLF 文本,不重新扫描。
只有输入 snapshot 时 options 才传给 analyze。失败返回 null,err。
查询一个地址(数值/指针)所在页向后的同属性区域后缀。
target 可省略占位为 null;options.resolveNames 可解析映像/映射文件名。
不读取内存内容,不保证地址之后可安全访问。失败返回 null,err。
采集可 JSON 序列化的完整区域快照,无句柄资源需要释放。
options: startAddress/endAddress(左闭右开)、maxRegions=131072、timeoutMs=5000、resolveNames=false、counters=true、threadCount=false。
失败返回 null,err;务必检查 complete。
当前库版本
变化最大的若干地址区间及前后状态,非分配事件日志
全范围统计的 after-before 增量
仅详情是否截断;汇总没有截断
状态转换字节数,包括 committed->committed 的属性变化
指定地址所在页向后的区域后缀,不一定覆盖整个分配
扫描是否完整,必须优先检查
有证据、有边界的诊断发现:code,severity,message,evidence,advice
解释结果必须遵守的统计口径与限制
最大分配/提交/保留/空闲区/保护页私有分配/重复尺寸榜;各榜有 items,total,displayTruncated
指定 requestBytes 时的连续预留评估;candidateObserved 不承诺实际分配成功
原始字节统计、byKind 分类、最大连续空闲区域、保护页分配数量
实际目标身份
采集警告,包括自观测及可选计数器不可用
采集器 PID;与 target.pid 相同则存在自观测干扰
是否完成整个请求范围;true 不表示原子快照
可选进程级计数器,不能与区域提交量或物理内存混为一谈
实际覆盖到的末端地址(不包含),中断时小于请求末端
全部已观察区域,包含 free/reserved/committed;字节及地址为无符号数值
startAddress/endAddress,末端不包含;fullAddressSpace 区分全地址空间和自定义范围
completed/maxRegions/timeout/queryFailed/invalidRegion/targetExited
目标 pid、name、architecture、creationTimeKey、imagePath