由于rngd进程导致的tomcat 启动慢

之前在阿里云做客服的时候遇到某用户提交工单,反馈一批服务器中有一台上面运行的后端应用启动缓慢

具体现象由于客户隐私就不贴了

处理办法:

1、先让用户将程序调整到debug级别,看一下打印出来的日志,在哪一步出现了阻塞。

2、如果日志打印时有阻塞时间长的现象,可以通过strace命令看一下系统调用(我遇到的时候是日志打印的时候阻塞了很长时间)

3、/proc/sys/kernel/random/entropy_avail查看此文件中的数值大小,如果过小,那么需要安装rngd

3、rngd安装:

yum install rng-tools 安装rngd服务
systemctl start rngd 启动服务
cp /usr/lib/systemd/system/rngd.service /etc/systemd/system

编辑 /etc/systemd/system/rngd.service service
 ExecStart=/sbin/rngd -f -r /dev/urandom

systemctl daemon-reload 重新载入服务 

systemctl restart rngd 重启服务 

可以使用head -c1024 /dev/random 消耗随机数,复现问题。当/proc/sys/kernel/random/entropy_avail的值很小的时候,这时tomcat会启动很慢

原文地址:https://www.cnblogs.com/zh-dream/p/14688410.html