2010-12-04 75 views
3

我们使用Windows 2003服务器64位来运行WebSphere/J2EE应用程序(JVM也是64位)。该机器具有16GB物理内存。不幸的是,我们的应用程序需要大量内存,而且我们还需要一些时间来添加额外的内存。在Windows 64位平台上可以安全使用的最大Java堆大小是多少?

我知道操作系统本身需要一定的内存。这就是说,假设这是系统上运行的唯一应用程序,那么我们可以使用的最大堆大小会是安全的(没有分页?)?

回答

2

我认为答案取决于很多因素,其中很多因素很难预测。

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

0

最好的办法是进行试验...检查第一个答案here ...这将帮助你......

它崩溃,你可以编写一个批处理文件做实验针对不同的堆大小,看看...

0

如果你有两个记忆库,例如由于您有两个CPU,因此如果使用超过一半的内存,您可能会发现应用程序的性能显着较慢。如果您使用大约3/4的内存组大小,您将从内存中获得最佳性能。

使用更多内存可能会获得更好的性能,但它不会按照您预期的方式进行扩展,并且GC时间会显着增加。

相关问题