tomcat啟動非常慢;連接oracle數據庫失敗,jdbc錯誤日志提示connection reset;測試主機間網絡互通及數據庫端口都正常


 
【判斷確認:這時候大家可能要去檢查一下/dev/random 這個設備檔案。可以用cat /dev/random 來看它的內容,如果你發現他一直沒顯示任何內容﹝可能是亂碼數字之類的﹞,那就是它出問題了。
通過cat /proc/cpuinfo | grep rdrand 可以查看自己的CPU是否支持DRNG特性,利用硬件來提高熵池產生的速度(此條存疑)   】
【解決:增大/dev/random的熵池(推薦)
問題的原因是由於熵池不夠大,所以增大它是最徹底的方法。我們可以通過軟件的方法實現,下面是軟件的安裝和配置流程。
安裝熵服務
yum install rng-tools
啟動熵服務
systemctl start rngd
如果你的 CPU 不支持 DRNG 特性或者像我一樣使用虛擬機,可以使用/dev/unrandom來模擬。
看熵池大小cat /proc/sys/kernel/random/entropy_avail
vi /usr/lib/systemd/system/rngd.service
(或者 cp /usr/lib/systemd/system/rngd.service /etc/systemd/system; vim /etc/systemd/system/rngd.service)
####以下是編輯內容
  ExecStart=/sbin/rngd -f -r /dev/urandom
####
systemctl daemon-reload
systemctl start rngd
systemctl enable rngd
systemctl status rngd
cat /proc/sys/kernel/random/entropy_avail
】
【參考
為提高安全性在啟動的時候通過隨機生成一個密鑰。 /dev/random 是Linux下的隨機函數生成器,讀取它相當於生成隨機數字。/dev/random會根據 噪音 產生隨機數,如果 噪音 不夠它就會阻塞。Linux是通過I/O,鍵盤終端、內存使用量、CPU利用率等方式來收集 噪音 的,如果 噪音 不夠生成隨機數的時候就會被 阻塞 。
應用服務可以用/dev/urandom替換/dev/random,其實還有第三種方式——增大/dev/random的熵池。問題的原因是由於熵池不夠大,所以增大它是最徹底的方法。 通過 cat /proc/sys/kernel/random/entropy_avail 我們可以查看現在的熵池大小;我們需要找到一種方式來提高這個值就行了。如果你的CPU帶有DRNG特性,可以充分利用硬件來提高熵池產生的速度 。通過cat /proc/cpuinfo | grep rdrand 可以查看自己的CPU是否支持,一般來說Intel的Ivy_Bridge架構的CPU都支持(i3、i5需要注意是否采用該種架構,i7和xeon基本上都支持);AMD的CPU在2015年以后生成的都支持。(如果你是虛擬機需要開啟額外的參數)。如果你的硬件不支持,也沒有關系,我們可以讓/dev/unrandom來做“熵源”。】

 

 


免責聲明!

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



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