2010-06-30 78 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程序中包含多少程序。