Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000f4953000, 39632896, 0) failed; error='Cannot allocate memory' (errno=12)

#

# There is insufficient memory for the Java Runtime Environment to continue.

# Native memory allocation (malloc) failed to allocate 39632896 bytes for committing reserved memory.

# An error report file with more information is saved as:

# apache-tomcat-7.0.70/bin/hs_err_pid10128.log

遇到了这么一个错误,tomcat启动出错了。继续加大内存还是这个样子。

最后ps -ef|grep tomcat发现:

root      9470     1  0 Mar25 ?        00:00:57 /jdk/bin/java -Djava.util.logging.config.file=tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/tomcat/endorsed -classpath /home/tomcat/bin/bootstrap.jar:/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/tomcat -Dcatalina.home=/home/tomcat -Djava.io.tmpdir=/home/tomcat/temp org.apache.catalina.startup.Bootstrap start

root     10940     1  0 Mar25 ?        00:05:38 /jdk/bin/java -Djava.util.logging.config.file=tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms128m -Xmx512m -XX:MaxPermSize=96m -XX:PermSize=48m -Xloggc:/tmp/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/oom.dump -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/tomcat/endorsed -classpath /home/tomcat/bin/bootstrap.jar:/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/tomcat -Dcatalina.home=/home/tomcat -Djava.io.tmpdir=/home/tomcat/temp org.apache.catalina.startup.Bootstrap start

竟然有两个tomcat进程,实在是无语。

可能是shutdown.sh脚本有问题,导致没有关掉,启动了两个进程。

最后kill掉,就好了。