gpt4 book ai didi

java - 服务器JVM不保留内存

转载 作者:行者123 更新时间:2023-12-02 02:17:17 24 4
gpt4 key购买 nike

服务器和客户端 JVM 之间的区别之一是,服务器 JVM 将尝试使用并保留所有可用内存(最多配置或默认的 Xmx),但客户端 JVM 对用户计算机“仁慈”,不会保留未使用的内存(来源?)。
在具有大量内存和多个 CPU 的机器上,默认情况下会选择“服务器”JVM,导致默认 Xmx 和“服务器内存保留策略”相当大。
这将导致小型 java 应用程序慢慢地占用 4G 内存,而实际上它只需要 100M。
如何更改“服务器 JVM 内存保留策略”以像“客户端”JVM 一样运行,而不降低其他“服务器 JVM 性能改进”?

最佳答案

假设 HotSpot JVM,Java 9。您可以使用 -Xmx 设置堆大小的硬限制,或者指示 JVM 在堆未使用的足够比例的情况下将内存返回给操作系统-XX:MaxHeapFreeRatio(在这种情况下,您还应该设置-XX:MinHeapFreeRatio)。

该部分Performance Tuning Examples Java 9 文档中推荐

-XX:MaxHeapFreeRatio=10 -XX:MinHeapFreeRatio=5

用于保持堆较小。

关于java - 服务器JVM不保留内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49131483/

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