服务器JVM不保留内存
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器JVM不保留内存相关的知识,希望对你有一定的参考价值。
服务器和客户端JVM之间的区别之一是服务器JVM将尝试使用并保留所有可用内存(最多配置或默认Xmx),但客户端JVM对用户计算机是“仁慈的”并且不会保留未使用的内存(源? )。 在具有大量内存和多个CPU的服务器上的服务器'JVM将默认为chousen,导致相当大的默认Xmx和'服务器内存复用策略'。 这将导致小型java应用程序慢慢占用4G的内存,而在实际中它只需要100M。 我怎么能改变'服务器JVM内存复用策略'来扮演'客户端'JVM,但不降级其他'服务器JVM性能改进'?
答案
假设使用HotSpot JVM,Java 9.您可以使用-Xmx
设置堆大小的硬限制,或者如果与-XX:MaxHeapFreeRatio
没有使用足够的堆比例,则指示JVM将内存返回到操作系统(在这种情况下,您还应该设置-XX:MinHeapFreeRatio
) 。
Java 9文档中的Performance Tuning Examples部分建议使用
-XX:MaxHeapFreeRatio=10 -XX:MinHeapFreeRatio=5
保持堆小。
以上是关于服务器JVM不保留内存的主要内容,如果未能解决你的问题,请参考以下文章