代码之家  ›  专栏  ›  技术社区  ›  sylvanaar

如果没有安装的JVM(java1.1.8),如何分析Java内存使用情况

  •  1
  • sylvanaar  · 技术社区  · 14 年前

    我目前正在尝试确定Java应用程序中内存使用率高的原因,该应用程序运行在一个陌生的平台上,据我所知,该平台没有插入指令的JVM。

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

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

    3 回复  |  直到 14 年前
        1
  •  2
  •   Romain Hippeau    14 年前

    如果我站在你的立场,我会:

    1. 需要注意。
    2. 备份代码
    3. 看看什么需要花很多时间 缩小范围。
        2
  •  1
  •   Thorbjørn Ravn Andersen    14 年前

    对于Java5和更高版本,这可以使用Java代理完成。对于早期版本(包括1.1.8),必须加载本机代理才能执行此操作。如果你不能插入你的代码,你必须自己做需要的工作。

    其中一种方法是使用与Java1.1兼容的log4j版本,它允许您从本质上写出带有时间戳的字符串。然后,你就可以把这些信息转化成你想知道的答案。

        3
  •  1
  •   Dean J    14 年前

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

    如果你真的想深入研究你通常不应该去的地方,试试 sun.misc