首页主机资讯centos tomcat启动慢怎么加速

centos tomcat启动慢怎么加速

时间2025-12-06 01:17:03发布访客分类主机资讯浏览1383
导读:CentOS 上 Tomcat 启动慢的定位与加速 一、先快速定位瓶颈 查看 catalina.out 与 localhost-startStop-1 日志,若出现类似: “Creation of SecureRandom instanc...

CentOS 上 Tomcat 启动慢的定位与加速

一、先快速定位瓶颈

  • 查看 catalina.outlocalhost-startStop-1 日志,若出现类似:
    “Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [55,507] milliseconds”,基本可判定为熵池不足导致随机数生成阻塞。
  • 检查系统熵值:
    cat /proc/sys/kernel/random/entropy_avail
    若数值很低(如个位数),说明熵源不足,会显著拖慢启动。

二、优先解决熵源瓶颈(见效最快)

  • 安装并启动熵服务 rng-tools(推荐,安全且可持续供给熵):
    yum install -y rng-tools
    systemctl start rngd
    systemctl enable rngd
    如 CPU 支持 RDRAND,rngd 会用硬件熵源加速。
  • 临时方案 A:修改 $JAVA_HOME/jre/lib/security/java.security
    将 securerandom.source=file:/dev/random 改为 securerandom.source=file:/dev/urandom
  • 临时方案 B:在 $CATALINA_HOME/bin/catalina.sh 的 JAVA_OPTS 中增加
    -Djava.security.egd=file:/dev/urandom
    说明:/dev/urandom 为非阻塞熵源,能显著缩短 SecureRandom 初始化时间;rngd 方案更稳妥,适合生产。
  • 验证:重启 Tomcat,观察日志中 SecureRandom 初始化耗时是否从“秒级/数十秒级”降到“毫秒级”。

三、减少应用扫描与部署开销

  • 清理 webapps 下不需要的应用(如 docs、examples、host-manager、manager),减少类加载与扫描。
  • 优化 server.xml 的 Host 配置,降低启动时自动部署压力:
  • 若日志出现 “Skipping unneeded JARs during scanning can improve startup time and JSP compilation time”,说明有大量 JAR 被无谓扫描。可:
    • 精简打包,移除无用依赖;
    • 按需配置 TLD/JSP 扫描范围,避免全量扫描。

四、Tomcat 与 JVM 参数优化

  • 连接器与 I/O:使用 NIO 提升并发与启动阶段的连接处理能力。
    示例:
  • JVM 内存起步:在 catalina.sh 中设置合理的堆与栈,避免频繁扩容带来的抖动:
    JAVA_OPTS=“$JAVA_OPTS -Xms1024m -Xmx1024m -Xss512k -Djava.awt.headless=true”
  • 说明:内存应与物理内存匹配,生产环境建议固定堆大小(Xms=Xmx),减少 GC 与扩容开销。

五、系统层面与内核参数优化

  • 文件描述符限制:编辑 /etc/security/limits.conf
    • soft nofile 65536
    • hard nofile 65536
  • 内核网络与文件句柄:编辑 /etc/sysctl.conf
    net.core.somaxconn 65535
    net.ipv4.tcp_tw_reuse 1
    fs.file-max 65536
    执行 sysctl -p 使配置生效。
  • 透明大页(THP):部分环境下会拖慢 JVM 初始化,建议禁用:
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    如需持久化,可加入开机启动脚本。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos tomcat启动慢怎么加速
本文地址: https://pptw.com/jishu/765378.html
centos上如何卸载tomcat服务 centos tomcat日志级别如何调整

游客 回复需填写必要信息