新部署生成环境,jdk和tomcat版本和原来的机器的相同,但tomcat启动就是慢,非常夸张的5分钟才完成启动,仔细查看日志发现如下信息:
Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [268,999] milliseconds.
意思是一个跟sha1相关的安全随机数生成花了268,999耗秒,于是上网搜索了下,找到两种解决方案,
1)在Tomcat环境中解决
可以通过配置JRE使用非阻塞的Entropy Source。
在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。
加入后再启动Tomcat,整个启动耗时下降到Server startup in 2912 ms。
2)在JVM环境中解决
打开$JAVA_PATH/jre/lib/security/java.security这个文件,找到下面的内容:
securerandom.source=file:/dev/urandom
替换成
securerandom.source=file:/dev/./urandom
原博客地址:http://blog.csdn.net/u011627980/article/details/54024974
第一种方案试了下,提示找到file:/dev/./urandom 路径什么的,其实就是没用,最后试了第二种方案,解决了这个问题,启动只需要几秒的。