tomcat启动太慢耗时很长的问题
来源:互联网 发布:彭博数据 编辑:程序博客网 时间:2024/03/29 18:33
tomcat启动很长时间,tomcat输出日志如下:
INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [142,478] milliseconds.最终解决问题的办法:
方法1:修改JVM参数:
vim $JAVA_HOME/jre/lib/security/java.security
修改内容:
#securerandom.source=file:/dev/random #修改前securerandom.source=file:/dev/./urandom #修改后,注意"u"
方法2:修改Tomcat启动参数:
在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。重启tomcat启动速度变快。
详细原因:
tomcat7/8都使用org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom类产生安全随机类SecureRandom的实例作为会话ID。
SHA1 PRNG算法是基于SHA-1算法实现的、保密性较强的伪随机数生成器。算法中有一个种子生成器,它根据配置执行各种操作。
Linux中的随机数可以从两个特殊的文件中产生:
/dev/urandom:非阻塞的随机数产生器(unlocked),他会反复使用熵池中的数据来产生伪随机数,如果不能产生新的随机数时,不会阻塞。因此随机数产生效果不太好。
/dev/random:阻塞随机数产生器(locked),他会反复使用熵池中的数据来产生伪随机数,如果不能产生新的随机数时,会阻塞,直到能产生新的随机数才返回。因此随机效果好。
其生成随机数的原理是利用当前系统的熵池来计算出固定一定数量的随机比特,然后将这些比特作为字节流返回。熵池就是当前系统的环境噪音,熵指的是一个系统的混乱程度,系统噪音可以通过很多参数来评估,如内存的使用,文件的使用量,不同类型的进程数量等等。如果当前环境噪音变化的不是很剧烈或者当前环境噪音很小,比如刚开机的时候,而当前需要大量的随机比特,这时产生的随机数的随机效果就不太好。
因此:使用/dev/random比使用/dev/urandom产生大量随机数的速度要慢,但随机数效果要好。
- tomcat启动太慢耗时很长的问题
- tomcat启动太慢,耗时很长的问题 Creation of SecureRandom instance for ...
- TOMCAT启动太慢问题
- 解决MyEclipse启动太慢的问题
- tomcat启动很慢的问题
- tomcat启动慢的问题
- tomcat启动慢的问题
- tomcat启动时SessionIdGeneratorBase.createSecureRandom耗时5分钟的问题
- tomcat启动时SessionIdGeneratorBase.createSecureRandom耗时5分钟的问题
- Tomcat启动慢问题
- RHEL 启动时 sendmail耗时很长
- 关于Myeclipse启动速度太慢的问题
- 解决magento保存产品时耗时很长的问题
- 解决magento保存产品时耗时很长的问题
- 解决magento保存产品时耗时很长的问题
- 解决magento保存产品时耗时很长的问题
- myeclipse启动tomcat速度慢的问题
- 解决tomcat启动速度慢的问题
- navisworks 二次开发 使用Controls控件的同时可以获取Autodesk.Navisworks.Api.Interop.ComApi.InwOpState10 state
- linux less查看日志信息
- MySQL数据库知识点8
- 链队列的基本操作
- linux命令tail
- tomcat启动太慢耗时很长的问题
- Html Websocket搭建右下角聊天室
- 解决ScrollView嵌套RecyclerView后失去惯性问题
- [Leetcode] 118. Pascal's Triangle 解题报告
- talend与大数据分析QQ群
- Android 进程、线程
- jquery的Ajax的小总结
- 连接池的作用
- MyBtis打印日志