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

    技术2023-09-14  79

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

    卡在了Root WebApplicationContext: initialization completed in 4030 ms

    上图:

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

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

    解决办法:

    查看当前系统熵值:

    cat /proc/sys/kernel/random/entropy_avail 

    安装熵服务

    yum install rng-tools  

    启动/停止熵服务

    systemctl start rngd   systemctl stop rngd  

    再次启动项目,正常。

    完成!

    注:

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

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

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

    再次启动项目

    仅用了14s!!!

    Processed: 0.009, SQL: 9