首页 > 系统相关 >Centos7操作系统Tomcat启动慢的问题

Centos7操作系统Tomcat启动慢的问题

时间:2022-08-19 10:46:15浏览次数:54  
标签:02 20 操作系统 Tomcat 54 rngd Centos7 apache 2017

现象

在一次CentOS 7系统中安装Tomcat,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是Session引起的随机数问题导致的。Tocmat的Session ID是通过SHA1算法计算得到的,计算Session ID的时候必须有一个密钥。为了提高安全性Tomcat在启动的时候回通过随机生成一个密钥。

20-Jul-2017 02:54:56.797 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /application/apache-tomcat-8.0.27/webapps/manager
20-Jul-2017 02:54:56.848 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /application/apache-tomcat-8.0.27/webapps/manager has finished in 51 ms
20-Jul-2017 02:54:56.864 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
20-Jul-2017 02:54:56.873 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
20-Jul-2017 02:54:56.874 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 34487 ms

分析结果

主要原因是生成随机数的时候卡住了,导致tomcat启动不了。
是否有足够的熵来用于产生随机数,可以通过如下命令来查看

[root@tomcat tools]# cat /proc/sys/kernel/random/entropy_avail
7

为了加速/dev/random提供随机数的速度,你可以通过操作设备的外设,让其产生大量的中断(如网络传输数据,按键,移动鼠标,在命令行敲几个不同的命令,俗称聚气。
cat /dev/random 会消耗能量。
经过检查,发现原因是因为最小换安装系统的时候,是没有rng-tools这个包的。

解决方案

  • 安装并启动rngd服务(熵服务,增大熵池)
yum install rng-tools
#启动熵服务;如果你的 CPU 不支持 DRNG 特性或者像我一样使用虚拟机,可以使用/dev/unrandom来模拟
systemctl start rngd
  • 修改配置并重启服务
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
  • 经过上面的修改,我们再观察 /proc/sys/kernel/random/entropy_avail 基本上在 3000 左右。这个时候重新启动 Tomcat,发现启动时间正常。

标签:02,20,操作系统,Tomcat,54,rngd,Centos7,apache,2017
From: https://www.cnblogs.com/zhanglaotang/p/16601214.html

相关文章

  • Jmeter(四十九) - 从入门到精通高级篇 - jmeter使用监视器结果监控tomcat性能(详解教程
    ------------------------------------------------------------------- 转载自:北京-宏哥https://www.cnblogs.com/du-hong/p/13667219.html -------------------------......
  • Linux操作系统学习
    Linux一切皆文件,最高权限的账户root。1、开机登录开机会启动很多进程,在Windows上叫“服务”(service),在Linux上叫做“守护进程”(daemon)登录方式:命令行登录ssh登录......
  • 1.1、操作系统的基本概念
    操作系统的基本概念操作系统的概念指控制和管理整个计算机系统的硬件与软件资源合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的......
  • macOS+vagrant+vmware搭建centos7下的docker环境
    下载vagrant#方法一:命令行安装brewinstallvagrant#方法二:下载镜像安装https://releases.hashicorp.com/vagrant/2.3.0/vagrant_2.3.0_darwin_amd64.dmg下载vmw......
  • 操作系统面试总结(持续更新ing)
    操作系统面试总结目录操作系统面试总结1.操作系统引论1.1操作系统的特点1.2操作系统的主要功能1.3各种操作系统的区别1.4操作系统的主要组成部分1.5动态链接库和静态......
  • tomcat任务部署
    tomcat项目部署主机IP需求web-1192.168.78.144tomcat+jenkinsweb-2192.168.78.145tomcat在RHEL-1主机上部署的jenkins将项目打包传输到RHEL-2主机上......
  • CentOS7安装mysql5.7
    非原创,用到了,所以在这里记录一下。摘自:centos7安装mysql5.7步骤(图解版)_小志的博客的博客-CSDN博客_centos7安装mysql5.7目录一、下载mysql5.7安装包二、mysql5.7......
  • SQL SERVER 附加数据库时报错(5123,5120):无法打开物理文件……操作系统错误,拒绝访问…
      这属于权限不够。找到数据库文件,右键属性-安全,会发现没有权限查看: 点击“高级”——“继续”——“添加”——“选择主体”——“高级”——“立即查找”——选......
  • Tomcat基本使用方法
    一、部署APP方式1、war包(压缩包)放到站点目录下面(自动解压)1、Tomcat运行中,将war包放到/tomcat/webapps目录下访问方式,浏览器打开IP地址+默认端口8080加war包文件名......
  • tomcat
    1.tomcat简介Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的......