文章目录
原博客
云服务器启动tomcat巨慢,很慢
该篇博客要写的更加详细,本博客只是稍微描述下解决方法
解决方法
解决方法1 添加参数-Djava.security.egd=file:/dev/urandom
如图:添加启动参数
-Djava.security.egd=file:/dev/urandom
使用/dev/urandom生成随机数。
解决方法2— 清除所有断点(因为以debug启动)
原因
原因1–securityRandom 导致的启动变慢。
作者:把爱放下会走更远
链接:https://www.jianshu.com/p/576d356dc163
来源:简书
如果用Tomcat /dev/random作为关键字基本上就能够回答我们的疑惑了。Tocmat的Session ID是通过SHA1算法计算得到的,计算Session ID的时候必须有一个密钥。为了提高安全性Tomcat在启动的时候回通过随机生成一个密钥。在 http://wiki.apache.org/tomcat/HowTo/FasterStartUp (Entropy Source部分)有一段解释。stackoverflow上面也有一大批这方面的说明,所以这里就不再多做介绍。明白了问题的原因解决起来就非常简单了——替换/dev/random为/dev/unrandom,用伪随机函数生成器(/dev/urandom)来替代随机函数生成器(/dev/random)。
通过修改Tomcat启动文件-Djava.security.egd=file:/dev/urandom
通过修改JRE中的java.security文件securerandom.source=file:/dev/urandom
当然JVM的开发者不是傻瓜,Tomcat的开发者也不是二百五。他们之所以没有选择/dev/urandom是为了提高系统的安全性,/dev/urandom并不是真正的随机行为。(其实一般情况下/dev/urandom也是足够安全的不太容易被“重复”)
原因2 — 方法上加了debug断点
看看你在debug的时候是否在方法上加了断点,如果在方法上加了断点,那么运行时会变得非常慢。