Tomcat:调整内存比例

问题描述 投票:2回答:2

我有一个运行于具有4GB RAM的Windows 2008 Server上的Tomcat实例。该服务器专用于此应用程序,因此我很想能够将大部分RAM专用于Tomcat。我的Tomcat设置当前具有以下Java选项:

-Xms256m

-Xmx1600m

我想增加RAM的数量,最好增加到大约3GB(显然,我知道该怎么做,只需增加-Xmx值)。但是,如果我将最大堆空间增加到1600MB以上,Tomcat将拒绝启动。我读过的几个网站都说Tomcat不能使用超过40%的可用RAM,这似乎与我看到的一致。

是否有增加Tomcat可以使用的内存的[[比例的方法,以便可以增加Tomcat可以使用的内存的amount

java web-applications tomcat jvm heap-memory
2个回答
3
投票
您的问题可能与操作系统有关,而不是Tomcat / Java。 Windows操作系统将32位进程的内存分配限制为总共2 GiB(默认情况下)。

之所以只允许您分配大约1.5 GiB堆空间,是因为还向进程分配了其他内存(JVM /库开销,perm gen空间等。)>

Why does 32-bit Windows impose a 2 GB process address space limit, but 64-bit Windows impose a 4GB limit?

[其他现代操作系统[ Linux]允许32位进程使用4 GiB可寻址空间的全部(或大部分)。

也就是说,可以将64位Windows操作系统配置为将32位进程的限制增加到4 GiB(32位为3 GiB):

http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx

但是,按照正确的方法,最好的解决方案是在64位OS上使用64位JVM。 TB会堆任何人:

Max memory for 64bit Java:D


2
投票
© www.soinside.com 2019 - 2024. All rights reserved.