在亚马逊上申请的1G内存+8G硬盘的测试服务器出现了连接不上服务器的问题,重启tomcat之后报错如下:
Using CLASSPATH: /usr/tomcat/apache-tomcat-8.5.15/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.5.15/bin/tomcat-juli.jar OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000d6000000, 570425344, 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 570425344 bytes for committing reserved memory. # An error report file with more information is saved as: # /tmp/jvm-4614/hs_error.log
解决办法分为如下步骤:
1、清理服务器磁盘空间。
2、重启tomcat、重启数据库。
3、如果以上1、2步骤不能解决问题可以修改tomcat的catalina.sh中的 JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true"
Xms800m表示需求的最低内存为800M,我这里修改为了128M。然后再次重启tomcat,就ok了。以上的问题如果服务器内存比较大并且磁盘空间充足一般不会发生。只怪我的测试服务器配置太低。。。