linux启动tomcat8很慢

今天将服务器tomcat7升级为tomcat8,但是在启动的时候非常慢,只跑了三个项目,启动耗时在3分钟左右。而在没升级tomcat之前,启动都在30秒内。

问题原因是tomcat在启动时会调用类的SecureRandom generateSeed()方法,它使用/dev/random生成种子。但是/dev/random是一个阻塞数字生成器,如果它没有足够的随机数据提供,它就一直等,这迫使JVM等待。

解决方法:

1、在tomcat层面解决:

在catalina.sh中添加:JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"。

2、在jvm层面上解决

打开$JAVA_PATH/jre/lib/security/java.security这个文件,找到下面的内容:

securerandom.source=file:/dev/urandom
替换成

securerandom.source=file:/dev/./urandom

你可能感兴趣的:(linux启动tomcat8很慢)