微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 Z GC 的 JVM 16 不会将内存释放回 OS (Linux)

如何解决带有 Z GC 的 JVM 16 不会将内存释放回 OS (Linux)

我发现我的 Java 应用程序在 Linux 上有奇怪的行为

操作系统:Fedora 34(内核 5.12.7) JDK:OpenJDK 16.0.1 GC:ZGC 运行应用程序: -XX:+UseZGC -Xmx1G -XX:+ZUncommit -XX:ZUncommitDelay=30

ZUncommit 应该认启用,但要确保添加了这个标志。还减少了仅用于测试的延迟。 因此,在 Linux 上进行压力测试后,我的应用程序需要大约 900 mb(通过系统监视器检查)并且永远不会将 ram 释放回操作系统(但堆可能只有大约 100 mb)。但是在 Windows 上一切正常。 5-10 分钟后,应用程序释放 ram,大约需要 150-200 mb。 我有微服务,对我来说释放 ram 很重要。但是 Linux 更喜欢杀死我的应用程序而不是返回 ram

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。