學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦故障 > 電腦故障現(xiàn)象 > 系統(tǒng)變慢 >

Linux系統(tǒng)下Tomcat8啟動速度很慢什么原因

時間: 加城1195 分享

  我們使用電腦和手機(jī)時候最不能忍受就是設(shè)備又卡又慢了,嚴(yán)重影響我們工作或者游戲體驗。這篇文章主要給大家介紹了關(guān)于在Linux系統(tǒng)下Tomcat8啟動速度很慢的解決方法,需要的朋友可以參考下

  原因

  Tomcat 7/8都使用org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom類產(chǎn)生安全隨機(jī)類SecureRandom的實例作為會話ID,這里花去了342秒,也即接近6分鐘。

  SHA1PRNG算法是基于SHA-1算法實現(xiàn)且保密性較強(qiáng)的偽隨機(jī)數(shù)生成器。

  在SHA1PRNG中,有一個種子產(chǎn)生器,它根據(jù)配置執(zhí)行各種操作。

  1)如果java.security.egd屬性或securerandom.source屬性指定的是”file:/dev/random”或”file:/dev/urandom”,那么JVM會使用本地種子產(chǎn)生器NativeSeedGenerator,它會調(diào)用super()方法,即調(diào)用SeedGenerator.URLSeedGenerator(/dev/random)方法進(jìn)行初始化。

  2)如果java.security.egd屬性或securerandom.source屬性指定的是其它已存在的URL,那么會調(diào)用SeedGenerator.URLSeedGenerator(url)方法進(jìn)行初始化。

  這就是為什么我們設(shè)置值為”file:///dev/urandom”或者值為”file:/./dev/random”都會起作用的原因。

  在這個實現(xiàn)中,產(chǎn)生器會評估熵池(entropy pool)中的噪聲數(shù)量。隨機(jī)數(shù)是從熵池中進(jìn)行創(chuàng)建的。當(dāng)讀操作時,/dev/random設(shè)備會只返回熵池中噪聲的隨機(jī)字節(jié)。/dev/random非常適合那些需要非常高質(zhì)量隨機(jī)性的場景,比如一次性的支付或生成密鑰的場景。

  當(dāng)熵池為空時,來自/dev/random的讀操作將被阻塞,直到熵池收集到足夠的環(huán)境噪聲數(shù)據(jù)。這么做的目的是成為一個密碼安全的偽隨機(jī)數(shù)發(fā)生器,熵池要有盡可能大的輸出。對于生成高質(zhì)量的加密密鑰或者是需要長期保護(hù)的場景,一定要這么做。

  那么什么是環(huán)境噪聲?

  隨機(jī)數(shù)產(chǎn)生器會手機(jī)來自設(shè)備驅(qū)動器和其它源的環(huán)境噪聲數(shù)據(jù),并放入熵池中。產(chǎn)生器會評估熵池中的噪聲數(shù)據(jù)的數(shù)量。當(dāng)熵池為空時,這個噪聲數(shù)據(jù)的收集是比較花時間的。這就意味著,Tomcat在生產(chǎn)環(huán)境中使用熵池時,會被阻塞較長的時間。

  解決

  有兩種解決辦法:

  1)在Tomcat環(huán)境中解決

  可以通過配置JRE使用非阻塞的Entropy Source。

  在catalina.sh中加入這么一行: -Djava.security.egd=file:/dev/./urandom 即可。

  加入后再啟動Tomcat,整個啟動耗時下降到Server startup in 2912 ms。

  2)在JVM環(huán)境中解決

  打開$JAVA_PATH/jre/lib/security/java.security這個文件,找到下面的內(nèi)容:

  securerandom.source=file:/dev/urandom

  替換成

  securerandom.source=file:/dev/./urandom

  補(bǔ)充:解決系統(tǒng)變慢的常用技巧方法

  1、在我的電腦窗口,右擊要清理的盤符―“屬性”―“清理磁盤”--勾選要刪除的文件--確定--是。

  2、右鍵瀏覽器e――屬性――點2個刪除1個清除(都要逐一確定)――確定 。

  3、把C:\WINDOWS\Prefetch(預(yù)讀文件)把里面的文件全部刪除

  4、用優(yōu)化大師或超級兔子清理注冊表和垃圾文件。

  5、“開始”――運(yùn)行中輸入msconfig――確定――啟動――除了輸入法ctfmon以外的勾全去掉。

  6、右鍵我的電腦”――屬性――點高級――點啟動和故障恢復(fù)中的設(shè)置――去掉所有的勾――寫入調(diào)試信息選擇“無”――確定――點高級下面錯誤報告――點禁用――2次確定。

  7、“開始”..打開控制面板中的文件夾選項..點查看..點去末項自動搜索文件夾前面的勾..確定。

  8、右鍵我的電腦――屬性――硬件――設(shè)備管理器――雙擊IDE控制器――次要通道――高級設(shè)置――傳送模式都選DMA――設(shè)備類型選無――確定――主要通道也同樣設(shè)置――確定。

  9、右鍵C盤進(jìn)行磁盤清理和其它選項中的系統(tǒng)還原清理。

  10、刪除不用的程序軟件。


Linux系統(tǒng)啟動速度很慢什么原因相關(guān)文章:

1.win7開機(jī)啟動越來越慢的原因

2.電腦開機(jī)太慢怎么解決

3.怎么解決win10開關(guān)機(jī)速度慢

4.linux安裝jar命令

5.Windows7系統(tǒng)怎么提升開機(jī)速度

4036260