Root WebApplicationContext: initialization completed 服务器 centos java springboot 部署卡住

时间:2024-05-21 21:59:57

在部署一个简单的demo到centos7的时候发生了部署不上的情况。

卡在了Root WebApplicationContext: initialization completed in 4030 ms

上图:Root WebApplicationContext: initialization completed 服务器 centos java springboot 部署卡住

经过一番排查找资料。问题及解决办法:

tomcat启动时要有一个SessionId ,这个SessionId是linux提供的(/dev/random),这个linux提供的随机数的生成算法 根据I/O 内存使用、cpu使用等等算出来的,把这些个影响随机数生成的称为噪音(熵值),当噪音不够时,随机数生成不了(阻塞)。随机数阻塞,tomcat sessionId阻塞,tomcat 阻塞,springboot阻塞,程序就卡在那,一动不动。

解决办法:

查看当前系统熵值:

cat /proc/sys/kernel/random/entropy_avail 
Root WebApplicationContext: initialization completed 服务器 centos java springboot 部署卡住

安装熵服务

yum install rng-tools  

启动/停止熵服务

systemctl start rngd  
systemctl stop rngd  

Root WebApplicationContext: initialization completed 服务器 centos java springboot 部署卡住

再次启动项目,正常。

完成!

注:

贴上上传前启动springboot启动日志 和上传后的 springboot启动日志

熵值在30的时候启动整整用了789s,11分钟。玩蛇哇。

Root WebApplicationContext: initialization completed 服务器 centos java springboot 部署卡住

当熵值在启动rngd的时候变为了3033

Root WebApplicationContext: initialization completed 服务器 centos java springboot 部署卡住

再次启动项目

Root WebApplicationContext: initialization completed 服务器 centos java springboot 部署卡住

仅用了14s!!!