完美解决Tomcat启动慢的三种方法 |
您所在的位置:网站首页 › 华为汽车项目启动时间多长啊 › 完美解决Tomcat启动慢的三种方法 |
目录 方法一:修改随机数生成器。 方法二:修改catalina.sh 脚本文件。 方法三: 安装rngd服务(熵服务),增大熵值。 在我们启动Tomcat时,有时候启动时间过长,原因是: Tomcat的Session ID是通过SHA1算法计算得到的,计算时必须有一个密钥。为了提高安全性,Tomcat在启动时候会随机生成一个密钥,在生成随机数的时候卡住了,导致Tomcat启动失败。 首先我们通过如下命令查看是否有足够的熵来生成随机数。 cat /proc/sys/kernel/random/entropy_avail【熵[shāng]:Linux内核采用熵来描述数据的随机性,熵值越大,数据的随机性越好!】 为了加速/dev/random提供随机数的速度,你可以通过操作设备的外设,让其产生大量的中断(网络传输数据、按键、移动鼠标等)在命令行敲几个不同的命令,俗称聚气。 Linux下面两个特殊的设备文件,一个是/dev/random,另一个是/dev/urandom,都是用于生成随机数的。/dev/random生成随机数与当前使用的计算机硬件状态相关,非常适合随机数质量要求很高的场景,/dev/urandom为无限/非阻塞的随机数生成器,与计算机硬件状态无关。 我们可以使用下面三种方法解决: 方法一:修改随机数生成器。 vi $JAVA_HOME/jre/lib/security/java.security将securerandom.source=file:/dev/random修改为securerandom.source=file:/dev/urandom。 修改完毕后,保存退出并重新启动Tomcat即可。 方法二:修改catalina.sh 脚本文件。一般情况下,catalina.sh文件位于Tomcat的bin目录下。 以我的为例,我的是: vi /application/tomcat/bin/catalina.sh添加如下内容: if [[ "$JAVA_OPTS" != *-Djava.security.egd=* ]]; then JAVA_OPTS="JAVA_OPTS -Djava.security.egd=file:/dev/urandom" fi添加完毕后,保存退出并重新启动Tomcat即可。 【系统属性egd表示熵收集守护进程(entropy gathering daemon)】 方法三: 安装rngd服务(熵服务),增大熵值。rngd 服务, rng-tools 软件包的一部分,能够使用环境噪声和硬件随机数生成器来生成熵。 yum -y install rng-tools启动服务并设置开机自启 systemctl start rngd systemctl enable rngd查看是否安装成功 ps -ef | grep rngd |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |