CentOS上tomcat启动巨慢问题
2017-09-03 13:01
309 查看
原文:http://bbs.qcloud.com/thread-25271-1-1.html
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
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
相关文章推荐
- 解决Centos环境下tomcat启动缓慢的问题
- Centos7+Tomcat8配置javaweb环境,tomcat启动巨慢的问题
- CentOS磁盘用完的解决办法,以及Tomcat的server.xml里无引用,但是项目仍启动的问题
- 解决centos7下tomcat启动正常,无法访问项目的问题
- 解决:centos7.3 tomcat7启动巨慢问题
- centos6_tomcat7开机启动问题排查
- 解决 centos 启动 tomcat 巨慢的问题
- centos7下 tomcat8启动慢问题
- 解决centos7下tomcat启动正常,无法访问项目的问题
- Centos7下Tomcat7启动缓慢问题解决
- 解决centos7下tomcat启动正常,无法访问项目的问题
- CentOS 6.5上的Tomcat启动报错问题解决方法
- CentOS 7下Tomcat启动后无法启动问题解决方法
- CentOS7下Tomcat启动过慢问题
- 解决centos7下tomcat启动正常,无法访问项目的问题
- 解决Centos环境下tomcat启动缓慢的问题
- centos7.2中tomcat启动很慢的问题
- Centos中将openjdk切换为Oracle Jdk导致Tomcat无法正常启动的问题
- centos系统,tomcat启动卡的问题解决
- CentOS 6.5上的Tomcat启动报错问题