在 Debian 上调整 Tomcat 线程数,本质就是改 Tomcat 的 Connector 线程池配置,跟你用哪种 Linux 发行版关系不大,只是路径可能略有不同。
下面按最常见场景说明(Tomcat 8/9/10 通用)。
Debian 下常见位置:
/etc/tomcat9/server.xml
# 或
/opt/tomcat/conf/server.xml
# 或
/var/lib/tomcat9/conf/server.xml
先确认 Tomcat 装在哪:
systemctl status tomcat9
dpkg -L tomcat9 | grep server.xml
编辑 server.xml:
sudo nano /etc/tomcat9/server.xml
找到 <Connector>(一般是 8080 端口):
<Connector
port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector
port="8080"
protocol="HTTP/1.1"
maxThreads="500"
minSpareThreads="50"
acceptCount="100" />
参数含义:
| 参数 | 说明 |
|---|---|
| maxThreads | 最大工作线程数 |
| minSpareThreads | 最小空闲线程 |
| acceptCount | 队列等待数 |
第一步:定义线程池
<Executor
name="tomcatThreadPool"
namePrefix="tomcat-exec-"
maxThreads="800"
minSpareThreads="100"
maxQueueSize="200" />
第二步:Connector 引用
<Connector
executor="tomcatThreadPool"
port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
✅ 这是 生产环境推荐方式
sudo systemctl restart tomcat9
查看是否生效:
sudo systemctl status tomcat9
journalctl -u tomcat9 -f
ps -ef | grep tomcat
jstack <pid> | grep "tomcat-exec" | wc -l
启用 manager 应用后访问:
http://IP:8080/manager/status
Debian 有时有:
/etc/tomcat9/server.xml(实际生效)/var/lib/tomcat9/conf/server.xml(软链)以 /etc 为准
线程多了要加 JVM 内存:
/etc/default/tomcat9
JAVA_OPTS="-Xms1g -Xmx2g"
Debian 默认可能限制:
ulimit -u
修改:
/etc/security/limits.conf
tomcat soft nproc 4096
tomcat hard nproc 8192
| 场景 | maxThreads |
|---|---|
| 小网站 | 200 |
| 中型 API | 400–600 |
| 高并发 | 800–1000 |
⚠️ 线程不是越多越好,受 CPU / 内存 / 数据库限制
如果你愿意,可以告诉我:
我可以帮你精确算线程数。