tomcat8启动慢的问题

环境:

jdk8

tomcat 8

原因:

通过查看日志发现

 

SessionIdGeneratorBase - Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [486,784] milliseconds.

 生成sessionID用掉8分钟

解决方法:

 

第一种方法:修改Java

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

  securerandom.source=file:/dev/urandom (或者 securerandom.source=file:/dev/random)
  替换成

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

  (这里加粗的u一定要带上)

  修改后结果:Server startup in 1904 ms

第二种方法:修改/apache-tomcat-8.5.16/bin/catalina.sh 

  在catalina.sh中的 “#!/bin/sh” 下面添加如下代码:

if [[ "$JAVA_OPTS" != *-Djava.security.egd=* ]]; then

    JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"

fi

  修改后的结果: Server startup in 1899 ms

第三种方法:添加环境变量

在/etc/profile里添加环境变量:

    export JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"

/dev/random会根据噪音产生随机数,如果噪音不够它就会阻塞。Linux是通过I/O,键盘终端、内存使用量、CPU利用率等方式来收集噪音的,如果噪音不够生成随机数的时候就会被阻塞

 

生产服务器的熵池为130

#cat /proc/sys/kernel/random/entropy_avail

130

至于在测试环境为什么没有复现是因为测试环境的熵池大一些 848

 

转载来自:https://blog.csdn.net/xiaoyu_0217/article/details/79565231

或参考:https://blog.csdn.net/chszs/article/details/49494701

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值