堆
根据 -o
指定的输出文件,以表格形式写入包含以下信息的文本文件:
分配编号
分配大小 (KB)
输出编号
输出大小 (KB)
重新分配编号
范围大小 (KB)
输出范围大小 (KB)
堆句柄
-a heap [-pid <processId>] [-stacks] [-frames] [-images] [-range T1 T2] [-lifetime T1 T2] [-size S1 S2] [-cullframes Frame1 Frame2 ... FrameN] [-requireframes Frame1 Frame2 ... FrameN] [-cullLists cullfuncs.txt] [-top <n>] [-totals]
-pid<processId>
仅显示指定进程标识符的统计信息。 如果未指定,则显示所有进程的统计信息。
-stacks[s [o|oc|t|tc|rc]]
显示按堆栈聚合的分配。 这是默认行为。
按未完成大小 (so)、未完成计数 (soc)、总大小 (st)、重新分配计数 (src) 和总数计数 (stc) 排序。 默认值为 so。
-frames[s [o|oc|t|tc|rc]]
类似于 -stacks
,但聚合按顶层堆栈帧而不是按整个堆栈进行。
-图像
类似于 -stacks
和 -frames
,但聚合按顶层堆栈帧的图像名称进行。
-rangeT1 T2
使用时间从 T1 到 T2 的事件数据,均以微秒为单位。
-lifetimeT1 T2
仅包括生命周期(以微秒为单位)大于或等于 T1 且小于 T2 的分配。
-sizeS1 S2
仅包括大小(以字节为单位)大于或等于 S1 且小于 S2 的分配。
-cullframesFrame1 Frame2 ...FrameN
从报告中删除与任何指定帧匹配的任何顶层堆栈帧。 参数格式为 [image!][symbol]
。 名称不区分大小写。
-requireframesFrame1 Frame2 ...FrameN
要求每个堆栈至少有一个与至少一个指定帧匹配的帧。 此测试发生在使用 -cullframes
的任何显式帧剔除之前。
-cullLists<fileName>
指定文件中的帧将从结果中排除。 如果堆栈不包含此类帧,则排除该堆栈。 帧的格式与 -cullFrames
的格式相同。 名称不区分大小写。
由于执行大量排序和匹配,此操作可能需要几分钟才能完成大型跟踪。
有关如何捕获堆数据的信息,请参阅启用堆数据捕获