之前在阿里雲做客服的時候遇到某用戶提交工單,反饋一批服務器中有一台上面運行的后端應用啟動緩慢
具體現象由於客戶隱私就不貼了
處理辦法:
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會啟動很慢
