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

BOB*_*BOB 8 java

我完成了我的作业,但我无法找到问题的答案.

我有一个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 
Run Code Online (Sandbox Code Playgroud)

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

关心鲍勃

Aar*_*lla 2

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

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