[英]Max Heap Size for Tomcat 6 on 64 bit CentOs?
我在运行CentOS 5.4的大型EC2实例上运行tomcat 6实例。 该盒子有7.5GB的RAM,专用于运行tomcat。
我试图给它的盒子6GB的RAM用于它的最大堆。 但是我一直收到这个错误:
Invalid maximum heap size: -Xmx6144m
The specified size exceeds the maximum representable size.
当我丢弃我给它的RAM量时,我开始得到这个错误:
Error occurred during initialization of VM
Could not reserve enough space for object heap
即使应用程序运行(使用xmx3000m),当我免费运行时,我有这个金额免费:
[tomcat@producer1:/usr/share/tomcat/logs] $free
total used free shared buffers cached
Mem: 7864320 1512736 6351584 0 179948 702352
-/+ buffers/cache: 630436 7233884
Swap: 0 0 0
我能给予的最多是3000米。 这似乎不合理地小。 有人有主意吗? 谢谢
你有64位JDK安装? 如果您使用的是32位JDK,则最大可以访问4GB(理论上)。 当你计划6GB时,你需要64位JDK。 除此之外,因为你有7.5G,6GB是紧的没有。 CentOS需要一些内核用于内核,处理其他服务,SWAP内存。
因此,通过从5G开始增加堆大小来进行试验和错误。 JDK需要超出堆的额外内存,如permgenspace(通常为128M - 512M,具体取决于您拥有的库/类加载器的数量)
请参阅: http : //benjchristensen.com/2007/02/16/32-bit-versus-64-bit-jdk-memory-usage/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.