2010-06-30 52 views
1

我目前正试图确定在异常平台上运行的Java应用程序中高内存使用情况的原因,因为我知道没有安装JVM。如何在没有安装JVM的情况下分析Java内存使用情况(Java 1.1.8)

我拥有应用程序的源代码,并且可以对测试目的进行更改。

如何在这些条件下调试内存使用情况?

如果需要更多信息,我会很乐意提供。我只是有点失落,试图使用这样一个老jvm没有太多的工具来说。

回答

2

如果我是你的话我会来解决:

  1. 找到你知道 需要注意的功能区。
  2. 使代码
  3. 开始插入打印语句 有开始和结束时间
  4. 看看有什么需要花费大量的时间和 缩小它备份副本。
1

对于Java 5及更高版本,可以使用Java代理完成此操作。对于早期版本(包括1.1.8),您必须加载本地代理才能执行此操作。如果你不能测试你的代码,你必须自己完成所需的工作。

获得最佳方法的一种方法是使用log4j的Java 1.1兼容版本,它允许您基本上写出带有时间戳记的字符串。随后可以对其进行按摩以提取任何你想知道的答案。

1

如果您需要内存分析 - 我建议不要这样做 - 您可以开始将对象序列化到磁盘,然后测量磁盘大小作为内存大小的粗略估计。

如果您真的想深入了解您通常不应该在的位置,请尝试使用sun.misc程序包,但我不知道1.1.x程序中包含多少程序。

相关问题