CentOS上tomcat启动巨慢问题


Tomcat7在Windows下启动一直正常,却在linux下启动巨慢。期间多次kill掉启动进程再重新启动,然并卵。。。

查阅了资料后发现,启动过慢主要是卡在初始化session(查看tomcat日志)

Tomcat 的 SessionID 是通过 SHA1PRNG 算法计算得到的,SHA1 算法需要一个密钥,这个密钥在 Tomcat 启动的时候随机生成一个,生成是使用了 Linux 随机函数生成器/dev/random,读取它相当于生成随机数字。/dev/random会根据 噪音 产生随机数,如果噪音不够它就会阻塞。Linux 是通过 I/O,键盘终端、内存使用量、CPU 利用率等方式来收集噪音的,如果噪音不够生成随机数的时候就会被阻塞


推荐解决办法:

  • 安装熵服务
    yum install rng-tools
  • 启动熵服务
    systemctl start rngd

tomcat启动正常。

附:部分tomcat下载后直接解压,执行 sh startup.sh 无法启动tomcat(java环境正常!) 


原因:tomcat/bin/下的 catalina.sh 没有x权限,startup.sh启动tomcat是调用catalina.sh启动的。(catalina.sh才是最终的启动脚本,startup.sh、shutdown.sh只是使用了不同的参数调用了它!)


解决办法:chmod +x catalina.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值