繁体   English   中英

在 Windows 64 位平台上我可以安全使用的最大 Java 堆大小是多少?

[英]What is the maximum Java heap size I can use safely on Windows 64-bit platform?

我们使用 64 位 Windows 2003 服务器来运行 WebSphere/J2EE 应用程序(JVM 也是 64 位)。 机器有16GB物理内存。 不幸的是,我们的应用程序是内存密集型的,我们仍然需要一些时间来添加额外的内存。

我了解操作系统本身需要一定数量的内存。 话虽如此,假设这是系统上运行的唯一应用程序,我们可以使用的安全(没有分页?)最大堆大小是多少?

我认为答案将取决于许多因素,其中许多是难以预测的。

IMO,确定安全最大堆大小的最实用方法是通过反复试验。 我会从大约 15Gb 的最大堆大小开始,查看系统的内存/分页统计信息,然后向上或向下调整。

最好的想法是实验......检查这里的第一个答案......它会帮助你......

您可以编写一个批处理文件来对不同的堆大小进行实验并查看它在哪里崩溃...

如果您有两个内存条,例如您有两个 CPU,您可能会发现如果您使用超过一半的内存,您的应用程序性能会显着降低。 如果您使用大约 3/4 的内存库大小,您将从内存中获得最佳性能。

使用更多内存可能仍会获得更好的性能,但它不会像您预期的那样扩展,并且您的 GC 时间会显着增加。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM