[英]How can I profile Java memory usage without an instumented JVM (Java 1.1.8)
我目前正在尝试确定在异乎寻常的平台上运行的Java应用程序中高内存使用率的原因,我知道没有任何已检测的JVM。
我有应用程序的源代码,并且可以为测试目的更改源代码。
如何在这些条件下调试内存使用?
如果需要更多信息,我很乐意提供。 我只是有点迷失试图使用这么老的jvm而没有太多的工具可言。
如果我穿上你的鞋子,我会接近它:
对于Java 5及更高版本,可以使用Java代理完成此操作。 对于早期版本(包括1.1.8),您必须加载本机代理才能执行此操作。 如果您无法检测代码,则必须自己完成所需的工作。
获得大部分方法的一种方法是使用兼容Java 1.1的log4j版本,它允许您基本上写出带有时间戳的字符串。 然后可以按摩它来提取你想知道的任何答案。
如果你需要内存分析 - 我建议不要这样做 - 你可以开始将对象序列化到磁盘,然后测量磁盘大小作为内存大小的粗略估计。
如果你真的想深入了解你通常不应该去的地方,试试sun.misc包,虽然我不知道1.1.x中有多少。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.