1. 程式人生 > >tomcat伺服器記憶體不足導致的無法連線伺服器問題解決方法

tomcat伺服器記憶體不足導致的無法連線伺服器問題解決方法

在亞馬遜上申請的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了。
以上的問題如果伺服器記憶體比較大並且磁碟空間充足一般不會發生。只怪我的測試伺服器配置太低。。。