最大Java内存+ TOMCAT +服务器,144GB RAM

我完成了我的作业,但我找不到问题的答案。

我有一个144GB内存的服务器(147456MB)我有java JDK 1.6.0_24-b07我也有tomcat 7.0.10.0

我想尽可能多地分配内存。

我想要像Xmx = 130000M(甚至Xmx = 135000M)。 我想拥有尽可能多的JVM内存。

我无法跳过111000M它说出了堆空间

JAVA_OPTS="$JAVA_OPTS "-Xms111000M JAVA_OPTS="$JAVA_OPTS "-Xmx111000M JAVA_OPTS="$JAVA_OPTS "-XX:PermSize=64M JAVA_OPTS="$JAVA_OPTS "-XX:MaxPermSize=256M JAVA_OPTS="$JAVA_OPTS "-d64 JAVA_OPTS="$JAVA_OPTS "-XX:+UseParallelOldGC 

我真的必须有Xms = Xmx我尝试了很多选项,我无法跳过。 是否有可能拥有“位”额外的内存?

关心鲍勃

首先,Java需要一些内存来管理堆。 因此,如果你分配1GB堆,它将分配1.5GB(堆+ permgen +代码空间+ ….)。 因此,当您说-Xms111000M -Xmx111000M时,您需要检查Java实际从操作系统分配的内存-Xms111000M -Xmx111000M 。 请注意,您需要-Xms或Java将慢慢分配内存,并且很难测试OOM条件。

还要确保在一个块中实际拥有那么多可用内存。 所以也许其他一些进程需要大量的RAM,或者你的RAM被分成两个较小的块(MMU不应该发生这种情况,因为进程的所有页面看起来都是连续的,但也许你发现了一个bug)。

我知道111000M对每个人来说都应该足够…..但事实并非如此。 我确实有144GB的实内存+ 200GB交换(我知道,我知道….)

当我启动TOMCAT时问题就出现了。

我使用LINUX作为我的操作系统。 在catalina.sh中我使用这些选项

 JAVA_OPTS="$JAVA_OPTS "-Xms111000M JAVA_OPTS="$JAVA_OPTS "-Xmx111000M JAVA_OPTS="$JAVA_OPTS "-XX:PermSize=64M JAVA_OPTS="$JAVA_OPTS "-XX:MaxPermSize=256M JAVA_OPTS="$JAVA_OPTS "-d64 JAVA_OPTS="$JAVA_OPTS "-XX:+UseParallelOldGC 

我真的需要内存和那些“额外的”20GB会在一段时间内有所作为(我知道我将需要尽快升级内存(192因为

硬件限制和购买新的服务器wuth 512GB内存,但它将在未来。 我还没到那里[尚]

我确实离开了Heap空间我继续减少(从135000)1000,TOMCAT确实开始工作,当我达到111000M

我没有在该服务器上运行任何其他东西。

在TOMCAT停止时“空闲”,LINUX“需要”~800-900MB的RAM。 我从未在“闲置”时达到超过1GB的公羊(其后是〜500M)

重启并比“增长”到~1GB)。

所以我有143 GB的RAM(比方说140GB RAM)。

我真的很想得到135000M。 我知道它增加了很多但是安装在TOMCAT上的应用程序吃了内存(确实如此)。

到目前为止,我发现当Xms = Xmx时 – 性能是最好的(并且它会产生很多JAVA问题 – 但这就是我们在

年份)。

那些设定

 JAVA_OPTS="$JAVA_OPTS "-Xms111000M JAVA_OPTS="$JAVA_OPTS "-Xmx111000M JAVA_OPTS="$JAVA_OPTS "-XX:PermSize=64M JAVA_OPTS="$JAVA_OPTS "-XX:MaxPermSize=256M JAVA_OPTS="$JAVA_OPTS "-d64 JAVA_OPTS="$JAVA_OPTS "-XX:+UseParallelOldGC 

为我们工作最好。 我们确实尝试了很多不同的选择(不是说实话)并且那些可行。 但那些exta 20GB内存……

对于110G的进程,你的完整GC时间是多少(服务器是4x6core(超线程cpu),因此24个核心,48个线程)需要~3分钟。 在代码中我们

作为维护过程的一部分,“强制”在一夜之间运行完整的GC。

埃米尔:谢谢你使用G代替M的提示。我会尝试的。 按照你给我的那个链接。 我从未遇到过BigApp选项。 我会尝试的。

在我启动tomcat之前,我确实有内存可用。

我甚至做了新的重启并从0开始(应该从0到英雄但是…..)。

我确实有一些较小的服务器(128GB RAM和4×4核CPU),我会尝试在那里进行更改。 如果工作没有,如果没有 – 将进一步挖掘

谢谢鲍勃