【问题标题】:Java: Memory consumption in Activity Monitor on Mac vs JVisualVMJava:Mac 上的 Activity Monitor 与 JVisualVM 中的内存消耗
【发布时间】:2019-04-03 16:55:11
【问题描述】:

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

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

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

Java VisualVM 中的内存消耗图

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

【问题讨论】:

    标签: java macos opengl memory lwjgl


    【解决方案1】:

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

    如果您使用像 LWJQL 这样的原生库,您可以分配更多的原生内存。

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

    【讨论】:

      猜你喜欢
      • 2011-11-21
      • 1970-01-01
      • 2022-06-14
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多