我正在寻找一个可以提供有关活动对象的类似 VisuaVM 分析的工具,但在非 GUI 模式下。
我所指的 Visual VM 功能可通过转到“Profiler”选项卡并单击“内存”来访问。
通过为曾经 1 个对象(所有对象)设置“配置文件对象分配和 GC”的配置文件预设。这正是我在自动刷新视图中所需要的,我可以过滤我感兴趣的课程。
但是,我希望能够将拍摄的每个快照的“活动对象”表导出到文本文件(Visual VM 每隔一秒刷新一次)。显然,指向和点击不可能是解决方案......
有人知道这样的“命令行”分析器吗?
我一直在研究提供堆转储的jmap,但它成本太高(转储花费的时间太长,我只对对象的数量感兴趣)。
有一个名为 YourKit 的商业工具,但我不知道它是否可以满足我的需要(并且对于我需要它的“一次性”使用类型来说似乎相当昂贵)。
如果我可以按原样使用 VisualVM,但将其输出附加到文件中(而不是刷新其 GUI),那就完美了...
我认为类直方图就是您所寻找的。您可以定期收集直方图,这将向您显示物体数量每个班级和占用空间。然后,您可以自己解析文本输出,以便:
- 比较两个直方图以查看实例分配/释放
- 按类名过滤
- 监控类实例随时间的空间占用情况
收集类直方图jmap -histo $pid.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)