关于tomcat的部署问题

1.启动非常慢,并且没有错误日志。调试了很久,都是500错误。遂放弃,再次执行./bin/catalina.sh run出去洗了下车厘子(水果),发现居然好了。控制台出现如下日志信息:

INFO [localhost-startStop-1] 
org.apache.catalina.util.SessionIdGeneratorBase.
createSecureRandom Creation of SecureRandom instance for 
session ID generation using [SHA1PRNG] took [342,445] milliseconds.

这东西动辄就要花几分钟。所以调试的时候当然一时出不来结果。至于觉得方案嘛,我觉得有点理论了。参见Tomcat 8熵池阻塞变慢详解,作者详细的解释了一下原因,也提供了解决方案。

总结:take it easy!实在不行放一放吧,或许时间会帮你发现bug。也感谢给我车厘子的师姐,不然估计现在还没找到原因。

2. java内存调整

因为自带的内存设置有点小,最大堆区容量只有512m,而我在自己机器上运行的时候,基本上都会上1G,所以打算把初始内存调到1G,最大内存1.5G左右(毕竟最大内存也就只有2G),改就在catalina.sh里面改。主要是添加如下这句话:

JAVA_OPTS="-server -Xms1024m -Xmx1600m"

可是问题来了,这句话放哪里呢?网上有人建议说,放在如下代码的 cygwin=false前面就好。

# OS specific support.  $var _must_ be set to either true or false.
cygwin=false
darwin=false
os400=false
hpux=false
case "`uname`" in
CYGWIN*) cygwin=true;;

运行的时候也没问题。

但是,当运行catalina.sh stop就报oom了。为啥呢?因为这样设置相当于是全局的,每一个命令都会使用如上参数,就会导致运行一个stop命令也会申请1G初始内存,一共才2G,自然oom,所以更好的是按需分配,故在实际部署中,我是在这里配置的

elif [ "$1" = "start" ] ; then
  # insert here
  JAVA_OPTS="-server -Xms1024m -Xmx1600m"
  if [ ! -z "$CATALINA_PID" ]; then
    if [ -f "$CATALINA_PID" ]; then
      if [ -s "$CATALINA_PID" ]; then
        echo "Existing PID file found during start."
        if [ -r "$CATALINA_PID" ]; then
          PID=`cat "$CATALINA_PID"`
          ps -p $PID >/dev/null 2>&1
          if [ $? -eq 0 ] ; then
            echo "Tomcat appears to still be running with PID $PID. Start aborted."
            echo "If the following process is not a Tomcat process, remove the PID file and try again:"
            ps -f -p $PID
            exit 1

恩,暂时完美。

转载于:https://my.oschina.net/b1ack2ephyr/blog/918323

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值