您的位置:首页 > 运维架构 > Tomcat

tomcat在centos下启动缓慢,耗时较长

2018-02-12 15:16 357 查看
阿里云下的服务器安装jdk1.8和tomcat之后出现了一个问题,初次运行tomcat没有问题,可以正常访问tomcat首页,但是关闭之后再重启就发现tomcat首页刷不出来。而且再次关闭之后还报错了。报错信息上显示Tomcat may not be running,说明tomcat还没有启动,说明之前开启tomcat就出现问题了。方案一:官方的文档里有这个问题的解释:修改$JAVA_HOME/jre/lib/security/java.security文件,替换securerandom.source=file:/dev/random为: file:/dev/urandom。对所有使用JVM的应用生效。
实际修改为:。securerandom.source=file:/dev/./urandom
修改之后重启tomcat就很快了。关于这个random和urandom,这个是lin
4000
ux的提供的随机伪设备,提供永不为空的随机字节数据流,许多加密解密程序需要用到它们提供的随机数。它们的区别在于:random 依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用。这也就是tomcat启动变慢的原因;而urandom不依赖系统的中断,也就不会造成进程忙等待,但是数据的随机性也不高。可以通过od转化为16进制后查看生成的随机数据:urandom生成的随机数但是使用random生成随机数的时候一直刷不出来:random生成随机数很慢方案二:random是依赖于系统中断产生的随机数,因此可以使用外部进程产生中断,增加产生随机数的速度,安装rng-tools这个软件可以增加产生随机数的速度。yum install rng-tools

systemctl start rngd // 开启服务
然后再使用random生成随机数:random生成随机数很快这次生成随机数就很快了,安装了rng-tools之后就直接可以使用random生成随机数,而不需要去修改$JAVA_HOME/jre/lib/security/java.security中的生成随机数的方式了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: