我有一台64位机器,理论上地址空间是2 ^ 64字节,它有32 G的物理RAM。
这是一台具有16个核心的服务器规模机器,是一个生产服务器。
由于没有其他正在运行的进程消耗大量内存而且服务器jvm是唯一运行的应用程序,有没有理由不将jvm堆设置为非常大的数量?
我看到它被设置为不到10场演出,没有任何解释,我可以想到这可能是。
正如我在帖子前面提到的那样: 我知道内核,缓存和其他进程需要共享RAM。但除了任何其他进程和操作系统本机的东西,没有别的事情发生。 这台机器是一台生产机器,仅适用于这种特定的jvm。
是否有任何理由不设置为20演出/ 32克(物理撞击)?
从下面的评论中看来,除了需要快速失败之外,它似乎不是...... 感谢您的意见
答案 0 :(得分:1)
因为操作系统还需要RAM,缓存,守护进程,如syslogd,页表,内核数据结构等。
此外,JVM设计人员不知道在 JVM启动后您可能想要启动的其他应用程序。因此,JVM默认不占用所有RAM是明智的。