症状
- 症状1:启动较慢、发现经常启动过程,tomcat就死掉了、点击一些页面,tomcat就死掉、在线人数过多tomcat就死掉了。
- 症状2:发现confluence能正常运行,但是时间一久tomcat就自动死掉了。
解决办法
对于症状1:请将tomcat的JVM内存配置大点。在安装目录的bin/catalina.sh 文件的cygwin=false上面加上:
1
2
3JAVA_OPTS="-Xms256m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=512m"
或者
CATALINA_OPTS="-Xms256m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=512m"对于症状2:有可能是因为confluence一般配置中有预定任务,这些定时任务导致tomcat的死亡。全部禁用之即可。如果仍不能解决问题,那就用个shell脚本定时检测吧,发现tomcat死了就自动重启:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
echo " "
echo ">>>>>>>>>>>>shell is doing【make by rcl】>>>>>>>>>>>>"
echo " "
echo " "
if [ ! -f "/opt/wiki_out.log" ]
then
touch "/opt/wiki_out.log";
fi
while true;do
process=`ps aux|grep confluence|grep -v grep`;
echo " "
if [ "$process" != "" ]
then
echo "【Print】confluence was started";
echo "【INFO】`date '+%Y-%m-%d %H:%M:%S'` wiki_check.shell is running…… \n">>/opt/wiki_out.log;
else
echo "【Print】please wait,confluence is starting……";
echo " ";
/opt/soft/confluence/bin/begin-confluence.sh
fi
echo " ";
sleep 60s
done
echo " "
echo ">>>>>>>>>>>>shell was done【make by rcl】>>>>>>>>>>>>"
echo " "
注意:JDK8移除了方法区,使用了元空间,默认大小为无限制,故不必设置PermSize和MaxPermSize。
后记:JAVA_OPTS与CATALINA_OPTS
JAVA_OPTS
表示整个JVM内存大小,CATALINA_OPTS
表示当前tomcat允许使用的内存大小。如果电脑上有多个需使用JVM的服务器(如多个tomcat或jboss等),请两个参数都进行设置,
启动服务器时,请优先启动设置了JAVA_OPTS
参数的WEB服务器。第一个启动的服务器会导致JVM的启动,这样设置的JAVA_OPTS
参数才能使得JVM生效。然后其他服务器就只需设置CATALINA_OPTS
即可。最后保证所有的CATALINA_OPTS
之和在JAVA_OPTS
之内就好。
更多文章,请关注:开猿笔记