在本地开发环境,应用正常启动。

在CentOS测试环境,应用启动速度也是正常的。

但是在阿里云的生产环境,tomcat启动超级慢,并且在最终打印出来以下内容:

org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [152,149] milliseconds.

152秒,这可以就是2分钟啊。并且如果多次启动,可能需要等待更久,有几次上线只是在启动时等待了5分钟多。

经过百度,发现是Tomcat 7/8使用org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom类产生安全随机类SecureRandom的实例作为会话ID时,由于堵塞,造成时间上的消耗。

解决方案如下,由于第一种需要修改catalina.sh,在生产环境没有尝试。而是采用的第二种的方式。
有两种解决办法:
1)在Tomcat环境中解决
可以通过配置JRE使用非阻塞的Entropy Source。
在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。
加入后再启动Tomcat,整个启动耗时下降到Server startup in 2912 ms。
2)【已验证】在JVM环境中解决
打开$JAVA_PATH/jre/lib/security/java.security这个文件,找到下面的内容:
securerandom.source=file:/dev/urandom
替换成
securerandom.source=file:/dev/./urandom

转载于:https://www.cnblogs.com/gavinlib/p/8680936.html

CentOS启动Tomcat巨慢相关推荐

  1. centos启动tomcat后局域网无法访问,发现8080端口被tcp6占用解决方法

    在/etc下的sysctl.conf文件末尾添加如下: net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = ...

  2. centos启动tomcat后无法访问,发现8080端口被tcp6占用解决方法

    1.执行netstat -tunlp命令查看端口情况 2.在/etc下的sysctl.conf文件末尾添加如下: net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6 ...

  3. 解决centos下tomcat启动太慢 JDBC连接oracle太慢的问题

    解决centos下tomcat启动太慢 & JDBC连接oracle太慢的问题 参考文章: (1)解决centos下tomcat启动太慢 & JDBC连接oracle太慢的问题 (2) ...

  4. CentOS 7 启动Tomcat 报错 “ ./startup.sh: Permission denied” 解决方案及问题总结

    一.解决方案 在apache-tomcat的bin目录下,输入 ./start.up无法启动Tomcat,显示 " -bash: ./startup.sh: Permission denie ...

  5. linux/centos 解决Tomcat内存溢出,centostomcat

    2019独角兽企业重金招聘Python工程师标准>>> linux/centos 解决Tomcat内存溢出,centostomcat Tomcat本身不能直接在计算机上运行,需要依赖 ...

  6. linux部署tomcat启动后无法访问,linux中启动tomcat后浏览器无法访问的解决方法

    前言 不论是要启动,还是要关闭tomcat服务,都是要去到tomcat安装目录下的bin路径,当然你要是电脑关机自然是不需要的. 但最近在启动后发现了一个问题:Centos服务器,本地和服务器ip互p ...

  7. oracle如何启动和停止服务,CentOS启动和停止服务详解

    CentOS启动和停止服务详解 服务简介 Linux 系统服务是在Linux启 动时自动加载, 服务的添加.删除.自动运行及状态 CAMS 在安装过程中会自动添加相关的服务,例如: service c ...

  8. eclipse启动tomcat 访问http://localhost:8080 报404错误

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. eclipse正常启动tomcat,但是 访问http://localhost:8080 却报404 ...

  9. Centos下tomcat配置

    1.下载tomcat http://tomcat.apache.org安装说明 安装环境: CentOS Linux release 7.2.1511 (Core)      安装方式:源码安装    ...

最新文章

  1. 美国中学生被学校监控,实时位置、和谁接触一览无余
  2. java json xml app交互_Java 实体 xml 和 json 之间相互转换
  3. python爬虫需要调用什么模块_python爬虫需要调用什么模块
  4. 中越跨国结婚需要什么条件和手续
  5. 三年级人教版下学期计算机教案,人教版三年级下册信息技术教案
  6. Typecho 动漫单栏主题First
  7. 启动ubuntu无反应_仅支持legacy bios 情况下 win10 安装 ubuntu 双系统踩的一坑
  8. SIA:全球半导体行业销售额7月达到454亿美元 创下月度纪录
  9. 关于秋收秋季的丰收插画素材,收获满足
  10. Python使用marshal模块操作二进制文件
  11. DeFi 借贷协议 NAOS Finance 完成种子轮融资
  12. python stdout.write_python 中sys.stdout.write 和 print sys.stdout的区别
  13. 交比不变性 matlab,高等几何答案
  14. 三维模型等大长方体剖分算法实现
  15. TSF自定义候选词列表界面
  16. 点云数据(point cloud)
  17. ireport 3.6.0 增加PDF字体、加粗失效、PDF中文不显示等问题
  18. android 设置应用权限管理,几种安卓权限管理应用介绍
  19. 【愚公系列】2022年02月 U3D全栈班 005-Unity引擎视图
  20. 唯品会导航栏简单制作

热门文章

  1. nginx的日志配置
  2. 量子计算 qiskit_将Tensorflow和Qiskit集成到量子机器学习中
  3. 银行员工会购买自己银行的理财产品吗?
  4. 作家百态之二:山南海北
  5. 学习笔记(一)(x264编码流程)
  6. User Mode Driver Management介绍(一)
  7. android webview 禁止放大缩小,WebView无法放大缩小解决方案
  8. 华为 原生android 6.0,安卓6.0原生桌面轻体验,我的手机从未如此流畅过
  9. python异步和进程_12.python进程\协程\异步IO
  10. idea yml文件不变成树叶_springboot获取配置文件的三种方式