Java:Mac与JVisualVM上的Activity Monitor中的内存消耗

时间:2019-04-03 16:55:11

标签: java macos opengl memory lwjgl

我正在尝试使用LWJGL 2在Java中开发体素渲染引擎。

我正在从Eclipse启动应用程序,并在“运行配置”菜单中将初始堆大小设置为1024M,将最大堆大小设置为2048M。

当我查看Java VisualVM中程序的内存消耗时,它向我显示了大约500-1000 MB的已用堆。

Java VisualVM中的内存消耗图

Diagram

但是,Mac上的活动监视器向我显示已使用20 GB的RAM。这种巨大差异的可能原因是什么?

1 个答案:

答案 0 :(得分:1)

堆大小仅由普通Java对象使用。

如果您使用的是LWJQL之类的本机库,则可以分配更多的本机内存。

当您不再需要这些本机数据对象时,通常需要通过在该对象上调用方法来显式释放它。