开发者社区> 问答> 正文

JVM内存设置后TOMCAT无法启动?是怎么回事

小旋风柴进 2016-03-04 10:42:02 995

linux服务器内存大小8G,通过top命令查看可知,当前系统其它进程占用了1G内存。当我设置Xmx为3600M时可正常启动,但是3700M时就无法启动了,依次试过4000M,都不行,报错代码如下,下面三种错误都有报过:

Error occurred during initialization of VM·
Could not reserve enough space for object heap
Could not create the Java virtual machine.

不知道这个问题如何理解,求高手解答。理论上来说,就算JDK是32位的,应该也能支持4G内存大小

分享到
取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 18:51:56

    理论上,32位的Java虚拟机的Heap(堆)的上限是4G,然而由于其他各种限制,比如可用的交换区,内核地址空间使用,内存碎片和VM overhead(JVM的开销?栈?)等,实际上这个上限可能远小于理论值。在大多数32位的Windows系统上,实际值从1.4G到1.6G不等。在32位的Solaris内核中,地址空间限定到2G。在64位操作系统上运行32位Java虚拟机,该值可能要高一些,比如在很多Solaris系统上就接近4G。

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题