问题描述:我在Linux服务器上安装了Tomcat 启动非常慢,花费很长时间,造成很多影响,导致自己一致认为是自己上传的war包或者jdk的版本有问题。这是我自己发现的一种解决方法,正好解决了我的问题,记录一下。
jdk:1.8
Tomcat:8.0
启动的时间为 183017ms 有时候还是30多万毫秒,这是非常难受的
在JVM环境中解决
打开$JAVA_PATH/jre/lib/security/java.security这个文件,找到下面的内容:
securerandom.source=file:/dev/random
替换成
securerandom.source=file:/dev/urandom
random和urandom是linux的提供的随机伪设备,提供永不为空的随机字节数据流,许多加密解密程序需要用到它们提供的随机数。它们的区别在于:random 依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用。这也就是tomcat启动变慢的原因;而进程忙等待,但是数据的随机性也不高。urandom不依赖系统的中断,也就不会造成