1. 程式人生 > >Linux下Tomcat啟動超級慢的解決方法

Linux下Tomcat啟動超級慢的解決方法

有兩種解決辦法:
1)在Tomcat環境中解決
可以通過配置JRE使用非阻塞的Entropy Source。
在catalina.sh中加入這麼一行: -Djava.security.egd=file:/dev/./urandom 即可。
加入後再啟動Tomcat,整個啟動耗時下降到Server startup in 2912 ms。
2)在JVM環境中解決
開啟$JAVA_PATH/jre/lib/security/java.security這個檔案,找到下面的內容:
securerandom.source=file:/dev/urandom
替換成
securerandom.source=file:/dev/./urandom

上面僅僅解決了在JVM中的問題,其實Nginx等應用也有可能會遇到這樣的鬱悶問題。還有第三種方法:
以Centos7為例,
yum install rngd-tools安裝rngd服務(熵服務)
systemctl start rngd啟動服務
如果你的CPU不支援DRNG特性或者像我一樣使用虛擬機器,可以使用/dev/unrandom來模擬。
cp /usr/lib/systemd/system/rngd.service /etc/systemd/system
vim /etc/systemd/system/rngd.service service
設定ExecStart=/sbin/rngd -f -r /dev/urandom
systemctl daemon-reload重新載入服務
systemctl restart rngd重啟服務