开发者社区> 问答> 正文

Tomcat配置项 maxIdleTime 的问题

我怎么感觉 maxIdleTime 这个配置没用呢? 官方文档对这个配置项的解释是当线程空闲时间超过指定时间就会关闭,默认时间是1分钟。
可是我却从来没发现 网站启动的那么多 Tomcat 线程又被回收过,特别是凌晨很空闲的时候也是如此。
用的是 Tomcat 7.0.32

展开
收起
落地花开啦 2016-03-25 18:00:18 11446 0
2 条回答
写回答
取消 提交回答
  • maxIdleTime:在Tomcat关闭一个空闲线程之前,允许空闲线程持续的时间(以毫秒为单位)默认值:60000(一分钟)。 只有当前活跃的线程数大于 minSpareThreads 的值,才会关闭空闲线程。默认值:60000(一分钟)。

    minSpareThreads:设当连接器第一次启协创建线程的数目,确保至少有这么多的空闲线程可用。默认值为4

    所以检查一下minSpareThreads 是不是配置的很大

    2021-03-15 15:06:54
    赞同 展开评论 打赏
  • 喜欢技术,喜欢努力的人

    maxIdleTime是jdk的threadpoolexecutor的keepalivetime,keepalivetime是指当前线程总数超过corePoolSize,会将空闲时间超过maxIdleTIme的thread杀死知道线程总数为corePoolSize。你没看到线程回收,应该是线程总数没有达到corePoolSize。只有线程数达到corePoolSize,并且taskQueue队列满了才会添加worker线程。

    2019-07-17 19:14:53
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Apache Tomcat 的云原生演进 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载