gpt4 book ai didi

java - 在具有更大内存的机器上运行时,java 会使用更多内存吗

转载 作者:搜寻专家 更新时间:2023-11-01 01:21:40 25 4
gpt4 key购买 nike

如果我有一个较小的 ram 机器和一个较大的 ram 机器。我在它们上运行相同的 java 代码。jvm 会在 ram 更大的机器上更懒惰地进行垃圾收集吗?

我要解决的问题是内存不足的问题。人们报告说他们在小型 ram 机器上遇到内存不足问题。我想测试一下,但我现在拥有的唯一一台机器的 ram 比他们的大得多。我想知道如果我在这台内存较大的机器上进行测试并跟踪内存使用情况,内存使用量在内存较小的机器上是否会相同,还是会使用更少的内存?

谢谢!尔本

最佳答案

你需要看看JVM内存参数。实际上,您可以为 JVM 设置任意多的内存:

-Xmx2048m -> this param to set the max memory that the JVM can allocate
-Xms1024m -> the init memory that JVM will allocate on the start up
-XX:MaxPermSize=512M -> this for the max Permanent Generation memory

所以在你的情况下,你可以像在另一台机器上一样设置内存。所以你的机器不会占用比 Xmx 值更多的 RAM

您可能还想检查此参数。

-XX:MaxNewSize=  -> this need to be 40% from your Xmx value
-XX:NewSize=614m -> this need to be 40% from your Xmx value

你也可以告诉你 JVM 使用什么类型的 GC,比如:

-XX:+UseConcMarkSweepGC

因此,如果您在两台机器上设置此参数,您将很可能获得相同的结果和相同的 GC Activity 。

关于java - 在具有更大内存的机器上运行时,java 会使用更多内存吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21375331/

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