Linux云服务器之tomcat启动时间过长

版权声明:原创版权为博主所有,博主项目网址www.github.com/994683607,转载请注明出处。 https://blog.csdn.net/qq_35180973/article/details/82463410

1.在apache-tomcat官方文档:如何让tomcat启动更快 里面提到了一些启动时的优化项,其中一项是关于随机数生成时,采用的“熵源”(entropy source)的策略。官方教程如何让tomcat变快

他提到tomcat7的session id的生成主要通过java.security.SecureRandom生成随机数来实现,随机数算法使用的是”SHA1PRNG”

private String secureRandomAlgorithm = "SHA1PRNG";

2.在sun/oracle的jdk里,这个算法的提供者在底层依赖到操作系统提供的随机数据,在linux上,与之相关的是/dev/random和/dev/urandom,对于这两个设备块的描述以前也见过讨论随机数的文章,wiki中有比较详细的描述,摘抄过来,先看/dev/random :

在读取时,/dev/random设备会返回小于熵池噪声总数的随机字节。/dev/random可生成高随机性的公钥或一次性密码本。若熵池空了,对/dev/random的读操作将会被阻塞,直到收集到了足够的环境噪声为止

3.解决办法:
打开 java安装路径下的 /jre/lib/security/java.security。
按下图修改

#] find / -name java.security
找到#securerandom.source=file:/dev/urandom
securerandom.source=file:/dev/./urandom
#修改为上面

'如图所示
经测试linux和windows下,tomcat时间过长都可以用此方法解决。

猜你喜欢

转载自blog.csdn.net/qq_35180973/article/details/82463410