gpt4 book ai didi

java - JVM 不会使用我告诉它的那么多内存

转载 作者:行者123 更新时间:2023-11-30 09:06:26 25 4
gpt4 key购买 nike

我正在运行一个内存密集型应用程序。关于环境的一些信息:

  • 64 位 Debian
  • 13 GB 内存
  • 64 位 JVM(我在程序运行时输出 System.getProperty("sun.arch.data.model"),它显示“64”)

这是我发出的确切命令:

java -Xmx9000m -jar "ale.jar"测试配置

我已经在其他几个系统上使用完全相同的数据、配置等运行程序,并且我知道 JVM 在这些系统上使用(在其峰值时)6 GB 内存。但是,我收到 OutOfMemory 错误。此外,在程序执行期间,系统的可用内存永远不会低于 8.5 GB。

当我在执行期间输出 Runtime.getRuntime().maxMemory() 时,我得到值 3044540416,即 ~ 3 GB。

我不知道它是否相关,但这是一个 Google Compute Engine 实例。

我能想到的唯一解释是,系统可能对单个进程可以使用的最大内存量有某种限制。

最佳答案

-Xmx 只会设置最大分配内存。使用 -Xms 指定最小值。将它们设置为相同的值将使内存占用量保持不变。

关于java - JVM 不会使用我告诉它的那么多内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24474008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com