解决-----idea启动tomcat 巨慢,很慢

文章目录

    • 原博客
    • 解决方法
      • 解决方法1 添加参数-Djava.security.egd=file:/dev/urandom
      • 解决方法2--- 清除所有断点(因为以debug启动)
    • 原因
      • 原因1--securityRandom 导致的启动变慢。
      • 原因2 --- 方法上加了debug断点

原博客

云服务器启动tomcat巨慢,很慢
该篇博客要写的更加详细,本博客只是稍微描述下解决方法

解决方法

解决方法1 添加参数-Djava.security.egd=file:/dev/urandom

解决-----idea启动tomcat 巨慢,很慢_第1张图片
如图:添加启动参数
-Djava.security.egd=file:/dev/urandom

使用/dev/urandom生成随机数。

解决方法2— 清除所有断点(因为以debug启动)

解决-----idea启动tomcat 巨慢,很慢_第2张图片

原因

原因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的时候是否在方法上加了断点,如果在方法上加了断点,那么运行时会变得非常慢。

你可能感兴趣的:(Tomcat)