服务器启动项目巨慢啥原因导致

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器启动项目巨慢啥原因导致相关的知识,希望对你有一定的参考价值。

参考技术A 解决方案 一:
官方的文档里有这个问题的解释:修改$JAVA_HOME/jre/lib/security/java.security文件,替换securerandom.source=file:/dev/random为: file:/dev/urandom。对所有使用JVM的应用生效。(实际修改为:securerandom.source=file:/dev/./urandom)。修改之后重启tomcat就很快了。
方案二:
random是依赖于系统中断产生的随机数,因此可以使用外部进程产生中断,增加产生随机数的速度,安装rng-tools这个软件可以增加产生随机数的速度。

yum install rng-tools

systemctl start rngd // 开启服务

https://www.jianshu.com/p/23b45e2cc8c5

Linux服务器,Springboot 项目用java -jar springboot.jar 启动后,总是运行一段时间,再次访问就连接不上了。后来发现是ssh关闭了,就不能访问了。tomcat启动的服务也关闭了。
研究发现使用
nohup java -jar springboot.jar &
如上命令启动后,不会随着ssh的连接关闭而关闭服务。nohup的含义是 忽略所有挂断信号。
————————————————
版权声明:本文为CSDN博主「未来已来_feature」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/duantianya2012/article/details/80484154

CentOS服务器运行Tomcat8启动很慢的原因

tomcat版本:8.5.20

公司项目服务迁移到另一台服务器,原本正常启动的项目,在另一台服务器(阿里云CentOS7)tomcat启动很慢,通常几百秒启动。查看日志可以发现

时间花在了生成session ID上。

这是由于Tocmat的Session ID的生成主要通过java.security.SecureRandom生成随机数来实现,随机数算法使用的是SHA1PRNG,由于熵池为空,导致阻塞

网上大部分解决办法是:

通过修改Tomcat启动文件-Djava.security.egd=file:/dev/urandom

通过修改JRE中的java.security文件securerandom.source=file:/dev/urandom

 

还有种解决方法我觉得比较好

参考:https://www.jianshu.com/p/576d356dc163

 

增大/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来做“熵源”。以Centos7为例,
yum install rngd-tools
或者yum install rng-tools
安装rngd服务(熵服务)

systemctl start rngd
启动服务

 

可以将该服务设为开机自动启动,这样不光对tomcat还是其他程序,都能解决问题

 

以上是关于服务器启动项目巨慢啥原因导致的主要内容,如果未能解决你的问题,请参考以下文章

解决由于DNS解析导致Emacs启动巨慢的问题

我的vs.net为啥总是无法启动调试?

tomcat8启动巨慢

阿里云 centos7 tomcat 启动巨慢的解决方法(几分钟)

Tomcat启动时项目重复加载,导致资源初始化两次!

redis常见问题