Java 8中的内存消耗比Java 7高

时间:2015-02-06 10:01:57

标签: java memory javafx jvm-hotspot

我正在使用Java 7开发JavaFX桌面应用程序。我正在开发的应用程序使用10-12个后台线程来获取系统信息或发出HTTP请求。我还使用了一些JNA和JNI代码。

当我将堆大小限制为40 MB时,它已经足够了,并且应用程序在没有问题的情况下运行总共~100 MB内存。

然而,由于Oracle在4月份放弃了对Java 7的支持,我决定将应用程序升级到Java 8,升级顺利,不需要太多代码更改,但我注意到总内存消耗增加到130 + -20 MB 。我研究了这个问题,发现Java 8引入了Metaspace,我认为这可能是问题所在,但是在Java 7中我从未设置PermGenSize,所以最后我不知道为什么应用程序会占用更多的内存。

您知道VisualVM中Metaspace的使用量约为33-36 MB。

感谢任何帮助,谢谢

-------解决---------

问题是;我使用的JDK是64位,因为Windows上的64位JDK只包含服务器模式,我安装了32位JDK 8并开始在客户端模式下使用它,因为那时RAM的使用量大约为80 MB。

0 个答案:

没有答案