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

在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. 小目标 | DAX高级实践-Power BI与Excel联合应用
  2. 用虚拟机学linux,虚拟机上学习Linux运维?学linux有什么用
  3. fastjson反序列化漏洞研究(下)
  4. CentOS7安装 MySQL主从集群
  5. 二维数组名作为实参或者形参
  6. STM32工作笔记0055---认识pcbdoc文件Schdoc文件
  7. 抛物型方程向前差分matlab,(整理)微分方程数值解(学生复习题).
  8. 开源跨平台的Fuchsia操作系统
  9. 【联想拯救者R7000】安装nvidia驱动Perform MOK management 界面键盘失灵现象(已解决)
  10. JavaStudyNotes
  11. kindle电子书格式转换
  12. APISpace 绕口令API接口 免费好用
  13. 服务器系统漏洞rc4,服务器如何修复旧加密算法漏洞
  14. 移动应用崩溃日志收集工具对比
  15. 小程序 - 接入支付宝预授权支付 笔记
  16. android gallary demo
  17. 获取token的两种方法
  18. lammps教程:平均值输出fix ave/time命令详解
  19. Miko二次元动漫视频网站源码 视频播放带仿哔哩哔哩视频字幕弹幕
  20. 新华社报道,“大国重器”的企业背后的匠心智造与数字化转型之路

热门文章

  1. gcc 4.4.2 安装
  2. throw 烦人_烦人的简单句子聚类
  3. ai 图灵测试_适用于现代AI系统的“视觉图灵测试”
  4. 现金贷平台倒闭后,借的钱是否可以不还?
  5. odd raio值 是什麼_乳化油相所需的HLB值
  6. 服务器apache远程命令,Linux实例:用socket通讯远程执行命令
  7. springboot 获取application参数_LOOK ! SpringBoot的外部化配置最全解析
  8. 金蝶k3单据编码规则_金蝶K3存货跌价案例教程
  9. Luogu1443 马的遍历【STL通俗BFS】
  10. 常用模块之hashlib,configparser,logging模块