为什么当我们设置最大堆空间时,Wildfly 在 Linux 中预订相同数量的内存?

问题描述 投票:0回答:1

给予10GB最大堆空间并重新启动服务器组

当检查 linux free -h 时发现 10GB 被 Wildfly 预订了。 enter image description here

理论上正确吗?

问题是如果我需要在 Azure 基础设施中实现扩展和缩减内容怎么办?我有 11 个 Wildfly 服务器组,每个服务器组有 6GB 左右。因此,由于这种行为,我需要去预订。有什么建议

wildfly wildfly-11
1个回答
0
投票

这实际上更像是一个 JDK 问题,而不是 WildFly 问题。

虽然

-Xmx
确实设置了最大堆空间,但操作系统分配的内存总量会更高,因为您需要计算元空间、线程堆栈、代码缓存、GC 和运行时开销以及本机库的内存需求和缓冲区。

如果您想根据堆大小使用情况动态扩展,则不能依赖操作系统,例如

free
。例如,当您不使用动态堆大小调整(通过设置
-Xms
)时,操作系统报告的数字不会发生实质性变化。您可以使用“jstat -gc 1000”之类的工具。

© www.soinside.com 2019 - 2024. All rights reserved.