Tomcat7启动缓慢的解决方法

同事自建的的Tomcat进程启动缓慢,查看启动log,经常卡在如下的地方:

Root WebApplicationContext: initialization completed in 1494 ms

求助于度娘,找到一篇博客
彻底找到Tomcat启动速度慢的元凶

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

解决方法:替换/dev/random为/dev/unrandom,用伪随机函数生成器(/dev/urandom)来替代随机函数生成器(/dev/random)。
1、通过修改Tomcat启动文件-Djava.security.egd=file:/dev/urandom
2、通过修改JRE中的java.security文件securerandom.source=file:/dev/urandom

vim /home/tomcat/bin/catalina.sh
### 添加如下内容 ###
export CATALINA_OPTS="-Djava.security.egd=file:/dev/./urandom"

### 同时可以简单的优化一下内存 ###
JAVA_OPTS='-Xms2g -Xmx2g'
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在CentOS 7系统中安装Tomcat启动时遇到缓慢的问题可能是由于Session引起的随机数问题导致的。Tomcat的Session ID是通过SHA1算法计算得到的,在计算Session ID时需要一个密钥。为了提高安全性,Tomcat启动时会通过随机生成一个密钥。但是,生成随机数时可能会住导致Tomcat启动缓慢。这个问题可能是由于系统没有足够的熵来生成随机数所致。你可以通过查看`/proc/sys/kernel/random/entropy_avail`命令的输出来检查系统是否有足够的熵。如果熵的值较低,可以通过操作设备的外设来增加熵的产生,如进行网络传输数据、按键、移动鼠标或在命令行中输入一些不同的命令,这有时被称为“聚气”操作。另外,请注意使用`cat /dev/random`命令会消耗能量,所以请谨慎使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CentOS7下Tomcat启动慢的原因及解决方案](https://blog.csdn.net/qq_32337109/article/details/77606761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [centos7 tomcat启动过慢解决方法](https://blog.csdn.net/jinyehong/article/details/78969034)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值