&引用;Java HotSpot(TM)64位服务器VM警告:无法保留共享内存。(errno=12)“;
我正在使用putty连接VM。在那里我安装了java8和tomcat8。当尝试使用tomcat作为远程服务器运行应用程序时,出现404错误&引用;Java HotSpot(TM)64位服务器VM警告:无法保留共享内存。(errno=12)“;,java,tomcat,jvm,Java,Tomcat,Jvm,我正在使用putty连接VM。在那里我安装了java8和tomcat8。当尝试使用tomcat作为远程服务器运行应用程序时,出现404错误 所以我重新启动了tomcat。在停止服务器时,我遇到此错误。有人知道这个问题的解决方案吗?无法保留共享内存当JVM无法从共享内存为Java堆分配巨大页面时,可能会出现一条消息。只有当启用了-XX:+UseLargePages时,才会发生这种情况 errno=12表示“内存不足” 解释来自: 按照上面的说明操作,或者只删除-XX:+UseLargePagesJ
所以我重新启动了tomcat。在停止服务器时,我遇到此错误。有人知道这个问题的解决方案吗?无法保留共享内存当JVM无法从共享内存为Java堆分配巨大页面时,可能会出现一条消息。只有当启用了
-XX:+UseLargePages
时,才会发生这种情况
errno=12表示“内存不足”
解释来自:
按照上面的说明操作,或者只删除-XX:+UseLargePages
JVM选项
// Possible reasons for shmget failure:
// 1. shmmax is too small for Java heap.
// > check shmmax value: cat /proc/sys/kernel/shmmax
// > increase shmmax value: echo "0xffffffff" > /proc/sys/kernel/shmmax
// 2. not enough large page memory.
// > check available large pages: cat /proc/meminfo
// > increase amount of large pages:
// echo new_value > /proc/sys/vm/nr_hugepages
// Note 1: different Linux may use different name for this property,
// e.g. on Redhat AS-3 it is "hugetlb_pool".
// Note 2: it's possible there's enough physical memory available but
// they are so fragmented after a long run that they can't
// coalesce into large pages. Try to reserve large pages when
// the system is still "fresh".