最近發現在服務器上啟動tomcat,會存在卡住的情況,這種情況是每次必現,通過搜索發現是隨機數生成問題.解決方案如下
將$JAVA_HOME/jre/lib/security/Java.security內,將securerandom.source的內容改為file:/dev/./urandom即可
- 注: Linux或者部分unix系統提供隨機數設備是/dev/random 和/dev/urandom ,兩個有區別,urandom安全性沒有random高,但random需要時間間隔生成隨機數。可能在生成隨機數的時候卡住了,導致tomcat啟動不了
- 在服務器啟動時也可以加上參數 -Djava.security.egd=file:/dev/./urandom
JAVA_OPTS="-Xms1024m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256m -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Djava.security.egd=file:/dev/./urandom