我的Java應用程序通過運行「java -jar j.jar」進程運行另一個Java應用程序。已知J.jar根據給定的數據集使用很多內存,並且經常會得到一個OutOfMemoryError堆。所以我想在它上面使用-Xmx,這樣我可以分配儘可能多的內存(或接近)。我正在考慮在系統上獲取全部內存,然後在-Xmx中指定80-90%。Java -Xmx,系統上的最大內存
有沒有解決我的問題?而且,我的解決方案聽起來如何?
編輯:我無法減少內存消耗,因爲正在使用的內存是由Java的內置pack200壓縮,我用它來打包一些JAR文件。
所以你其實是問如何使用Java來確定系統內存量? – 2009-07-27 21:54:54
是的,這將是一個可能的解決方案,如果你知道一種方式,知道,將不勝感激。 – 2009-07-27 21:59:33
你在運行64位jvm嗎?如果你運行的是32位的話,那麼如果你的空閒內存變成7G,你會遇到'80%'的問題,例如 – 2009-07-28 03:15:18