新部署的Centos的tomcat启动慢的问题

本文探讨了新部署的Centos上Tomcat启动速度慢的问题,焦点在于随机数生成器/dev/random的影响。文章介绍了/dev/random与/dev/urandom的区别,并提供了通过调整JVM参数或修改java.security来优化启动速度的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新部署的Centos的tomcat启动慢的问题

1.原因

在apache-tomcat官方文档:如何让tomcat启动更快里面提到了一些启动时的优化项,其中一项是关于随机数生成时,采用的“熵源”(entropy source)的策略。而熵不足时会导致tomcat启动时间慢的问题。

2.相关概念

在linux上,与之相关的是/dev/random/dev/urandom

/dev/random - 阻塞的随机数发生器

设备会返回小于熵池噪声总数的随机字节。/dev/random可生成高随机性的公钥或一次性密码本。若熵池空了,对/dev/random的读操作将会被阻塞,直到收集到了足够的环境噪声为止。

/dev/urandom - 阻塞的随机数发生器

它会重复使用熵池中的数据以产生伪随机数据。这表示对/dev/urandom的读取操作不会产生阻塞,但其输出的熵可能小于/dev/random的。它可以作为生成较低强度密码的伪随机数生成器,不建议用于生成高强度长期密码。

3.解决方案

下列方案2选1即可

①可以配置tomcat的JVM启动参数

-Djava.security.egd=file:/dev/./urandom

②更改jdk配置,修改java.security文件

securerandom.source=file:/dev/random

更改为

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

参考文档

  1. JVM上的随机数与熵池策略
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值