jvm - 将 Xms 和 Xmx 设置为相同的值有什么好处吗?

标签 jvm heap-memory

通常我设置-Xms512m-Xmx1g这样当 JVM 启动时,它会分配 512MB 并根据需要逐渐将堆增加到 1GB。但我看到这些值设置为相同的说 1g在专用服务器实例中。将两者设置为相同的值有什么好处吗?

最佳答案

嗯,有几件事。

  • 程序将以 -Xms 值开始,如果该值较小,它将最终强制 GC 更频繁地发生
  • 一旦程序到达 -Xms 堆,jvm 请求 OS 额外内存并最终获取需要额外时间导致性能问题的 -Xmx,您最好在开始时将其设置为避免 jvm 请求额外内存。

  • 这里的回答非常好 - https://developer.jboss.org/thread/149559?_sscc=t

    关于jvm - 将 Xms 和 Xmx 设置为相同的值有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43651167/

    相关文章:

    java - 应用程序内存行为

    java - Sun JVM promise 虚拟内存高消耗

    java - 缺少内存 : size of young generation includes only one survivor space

    斯卡拉探查器?

    c++ - 将对象指针的数据成员数组初始化为正确的大小和 null

    kernel - 程序栈和堆,它们是如何工作的?

    java - 使用 Java 从 Oracle DB 获取 200,000 条记录时出现 OOM 错误

    stack - 堆喷射、堆溢出、堆溢出有什么区别?

    java.lang.OutOfMemory错误: Java heap space on using ArrayLists

    javac 命令在 linux 环境中不起作用