关闭

Centos7+Tomcat8配置javaweb环境,tomcat启动巨慢的问题

标签: centos7+Java8
3487人阅读 评论(0) 收藏 举报

./startup.sh之后,就访问我的主页xxx.xxx.xxx.xxx:8080,我就看到那个网页那个小圈一直再转啊,再转啊,快的能转五六分钟,慢的能转十几分钟都不能打开。


原因:

在apache-tomcat官方文档:如何让tomcat启动更快里面提到了一些启动时的优化项,其中一项是关于随机数生成时,采用的“熵源”(entropy source)的策略。
他提到tomcat7的session id的生成主要通过java.security.SecureRandom生成随机数来实现,随机数算法使用的是”SHA1PRNG”


A.使用伪随机函数生成器

/dev/unrandom /dev/urandom并不是真正的随机行为(其实一般不容易重复),主要有两个地方可以修改。
通过修改 Tomcat 启动文件 -Djava.security.egd=file:/dev/urandom
通过修改 JRE 中的 java.security 文件 securerandom.source=file:/dev/urandom


B.增大/dev/random的熵池(推荐) 

问题的原因是由于熵池不够大,所以增大它是最彻底的方法。我们可以通过软件的方法实现,下面是软件的安装和配置流程。
安装熵服务
yum install rng-tools
启动熵服务
systemctl start rngd
如果你的 CPU 不支持 DRNG 特性或者像我一样使用虚拟机,可以使用/dev/unrandom来模拟。
   cp /usr/lib/systemd/system/rngd.service /etc/systemd/system

   vim /etc/systemd/system/rngd.service

  #以下是编辑内容

  ExecStart=/sbin/rngd -f -r /dev/urandom


重新载入服务
   systemctl daemon-reload

   systemctl restart rngd
经过上面的修改,我们再观察 cat /proc/sys/kernel/random/entropy_avail 基本上在 3000 左右。这个时候重新启动 Tomcat,发现启动时间正常。

0
0
查看评论

CentOS7 Tomcat 启动过程很慢,JVM上的随机数与熵池策略

1. CentOS7 Tomcat 启动过程很慢在centos启动官方的tomcat时,启动过程很慢,需要几分钟: SessionIdGenerator.createSecureRandom Creation of SecureRa ndom instance for session ID gene...
  • lanmo555
  • lanmo555
  • 2016-07-14 14:24
  • 7231

Centos7 Tomcat 启动慢的解决方案

接了个微信开发的项目,想在自己在腾讯云上购买的centos7系统上配置Tomcat8。在个人主机上通过IP地址访问,但是经过很长时间都没有回应。 错误的做法和看法 1.未开放防火墙:云主机并没有开启防火墙服务 2.腾讯云管理中心的安全策略将端口封闭:已经开启了所有的端...
  • Dead_Rabbit6_0
  • Dead_Rabbit6_0
  • 2017-03-16 16:59
  • 700

centos中使用tomcat部署特别慢的问题

在centos中启动tomcat时遇到个问题,部署项目死活部署不上,卡在部署第一个项目那,遇到过两次这问题,第一次是重装系统解决,第二次找到了原因: 大概原因是收集随机数时收集不到导致的阻塞,详细原因可以百度"JVM上的随机数与熵池策略" 解决方法如下: ...
  • u013238950
  • u013238950
  • 2016-10-11 15:03
  • 1469

Tomcat 7 在 Centos 6 上启动慢的解决办法

问题Tomat 7 在 Centos 6 上,每次重启 Tomcat 时,总要花3~4分钟。通过日志看,是 SecureRandom 的计算用了太长的时间。从网上查,这是 Oracle 的一个 Bug。需要在你的 JRE 中,在 lib/seecurity 下编辑 java.security。把s...
  • ginkov
  • ginkov
  • 2016-09-27 08:36
  • 1911

centos tomcat启动慢的解决办法

试着修改$JAVA_HOME/jre/lib/security/java.security文件 找到securerandom.source #securerandom.source=file:/dev/urandom securerandom.source=file:/dev/./uran...
  • slovyz
  • slovyz
  • 2016-09-23 11:23
  • 1252

CentOS7 Tomcat 启动过程很慢,JVM上的随机数与熵池策略

1. CentOS7 Tomcat 启动过程很慢 在centos启动官方的tomcat时,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是session引起的随机数问题导致的: 14-Jul-2016 04:14:22.900 INFO [localhost-startStop-1...
  • rankun1
  • rankun1
  • 2016-10-14 15:04
  • 2405

Linux tomcat8,JDK8 启动卡住半天 后才能正常启动解决方案

今天在服务器上部署网站时 启动tomcat无错 tail -f catalina.out日志 和 catalina.sh run 方式启动时 卡在22-Jul-2016 23:00:53.921 INFO [localhost-startStop-1] org.apache.catalina.sta...
  • hfmbook
  • hfmbook
  • 2016-08-23 13:23
  • 4975

centos7下tomcat7 或tomcat8启动超慢原因

tomcat启动慢,关闭报错
  • keepd
  • keepd
  • 2017-05-16 11:13
  • 1447

解决centos7 +tomcat8 启动过慢的方法

解决centos7 +tomcat8 启动过慢的方法
  • qq_30097433
  • qq_30097433
  • 2017-06-08 11:44
  • 574

centos7 tomcat启动过慢解决方法

第一次遇到Tomcat在Linux服务器启动卡住的情况,情况很简单,tomcat启动以后卡在INFO: Deploying web application directory ......这句话,具体会卡多久就没测试了。google、baidu都没找到解决方法。 幸亏UCloud的技术支持人员给出...
  • jinyehong
  • jinyehong
  • 2018-01-04 11:23
  • 115
    个人资料
    • 访问:17251次
    • 积分:429
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:2篇
    • 译文:0篇
    • 评论:1条
    最新评论