linux环境下重新部署新版本项目先后出现如下问题INFO: validateJarFile(/usr/local/java/apache-tomcat-7.0.29/webapps/ROOT/WEB-INF/lib/servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000efde1000, 93151232, 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 93151232 bytes for committing reserved memory.
An error report file with more information is saved as:
/usr/local/java/apache-tomcat-7.0.29/bin/hs_err_pid87454.log
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000a0000000, 536870912, 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 536870912 bytes for committing reserved memory.
An error report file with more information is saved as:
/usr/local/java/apache-tomcat-7.0.29/bin/hs_err_pid87962.log
ps -ef | grep tomcat 发现有好多tomcat进程,不知道是怎么回事(可能是和我部署项目的方法有关系),然后依次kill掉所有的tomcat进程,我还改动了catalina.sh(为解决内存溢出的问题),改动代码如下,重新用Xshell链接服务器,重新启动项目,就好了。JAVA_OPTS=’-Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m’
思考:内存溢出的问题应该是多个tomcat进程造成的,jar not loaded这个问题原因不得而知。
ps:退出linux远程登录,最好使用exit;不要直接X了。感觉会更好点