Tomcat 啟動卡在 Root WebApplicationContext: initialization completed in


最近新上兩個java項目,在部署按照Linux CentOS和Ubuntu服務器, 在啟動tomcat的時候,加載非常慢,要5分鍾左右,解決方案如下。

仔細觀察Tomcat日志,啟動慢主要是卡在初始化Session,Tomcat的SessionID是通過SHA1PRNG算法計算得到的,SHA1算法需要一個密鑰,這個密鑰在Tomcat啟動的時候隨機生成一個,生成是使用了Linux隨機函數生成器/dev/random。讀取它相當於生成隨機數字。/dev/random會根據 噪音 產生隨機數,如果噪音不夠它就會阻塞。Linux是通過I/O,鍵盤終端、內存使用量、CPU利用率等方式來收集噪音的,如果噪音不夠生成隨機數的時候就會被阻塞。

解決方案:增大/dev/random的熵池

步驟如下: 
1、安裝熵服務

Linux CentOS 安裝命令如下:
yum install rng-tools  

Linux Ubuntu 安裝命令如下:
apt-get install rng-tools  

2、啟動熵服務

Linux CentOS rngd 命令如下:
systemctl start rngd  
systemctl stop rngd  

Linux Ubuntu rngd 命令如下:
service rng-tools start
service rng-tools status
service rng-tools stop


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM