轻松解决Tomcat启动慢的问题,只需一行代码
发布日期:2021-04-30 21:10:40 浏览次数:108 分类:精选文章

本文共 541 字,大约阅读时间需要 1 分钟。

最近帮一位同学解决了一个问题——Tomcat启动特别缓慢,大概需要五六分钟。经过修改后,启动速度直接提升到了3秒以内。

在Tomcat的bin目录下找到catalina.sh文件。在文件中找到相应的位置,并添加一行代码:-Djava.security.egd=file:/dev/urandom。

这次问题的关键在于Tomcat启动时生成安全随机数的效率。Tomcat 7和8启动时会调用org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom生成安全随机数。在Linux环境下,随机数来源于两个文件:/dev/random和/dev/urandom。

它们利用系统熵池生成随机比特,熵池反映了系统的混乱程度,通过内存使用、文件访问等参数评估。/dev/random在没有足够熵时会阻塞,而/dev/urandom则不会。因此,我们在catalina.sh中添加了-Djava.security.egd=file:/dev/urandom,强制使用/urandom生成随机数,启动速度提升了数倍,从几分钟降到了3秒。

希望这些推荐能对你有所帮助。记得关注我的微信公众号『沉默王二』,获取更多有趣的技术分享。

上一篇:Java:多态乃幸福本源
下一篇:JavaSE进阶:final修饰符

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2026年06月06日 17时11分31秒