2011-03-10 78 views
0

我們試圖在64位Linux操作系統上使用jdk 1.5_22版本在JBOSS 5.01版本中部署應用程序。java進程在比較時幾乎需要兩倍的內存到在MAC OS上運行的32位jvm。 Linux 64位系統會有補丁嗎? 或爲什麼它的行爲如此? 我們知道64位需要更多的內存。有一點我們可以從Oracle的一篇文章中得知,這是64位內存佔用空間,與32位相比64位Linux系統上的內存使用量是MAC 32位的兩倍

+3

指針是兩倍大。還有其他問題嗎? – 2011-03-10 17:55:53

+0

你如何測量內存使用量(在每個系統上)? – 2011-03-10 18:02:56

回答

4

使用Java 6 VM,您可以嘗試添加UseCompressedOops,這將減少指針的大小。

java -XX:+UseCompressedOops ...

http://wikis.sun.com/display/HotSpotInternals/CompressedOops

+0

我們已經嘗試過這個選項,但內存變化是微不足道的。我們曾經嘗試使用Xmx選項增加堆大小。想知道是否有一些文章或鏈接從Oracle(Sun)證明相同 – MSSV 2011-03-11 18:17:37

3

你明確地設置與-Xmx最大堆大小?如果不是,請注意,除了較大的指針外,default heap size在64位上比在32位上更大。

相關問題