在 Debian(以及一般的 Linux)系统里,backlog 这个词常见于两个场景,优先级处理方式不同。下面分别说明。
指 listen(fd, backlog) 中的 连接队列长度,用于半连接 / 全连接队列。
# 全连接队列上限
net.core.somaxconn
# 半连接队列(SYN队列)
net.ipv4.tcp_max_syn_backlog
查看:
sysctl net.core.somaxconn
sysctl net.ipv4.tcp_max_syn_backlog
修改:
sysctl -w net.core.somaxconn=4096
sysctl -w net.ipv4.tcp_max_syn_backlog=8192
或写入:
/etc/sysctl.conf
listen(sockfd, 128);
实际生效值是:
min(应用 backlog, net.core.somaxconn)
✅ 这里没有“优先级”概念,只有队列长度和丢弃策略(默认 FIFO + 丢新连接)。
如果你说的是 systemd 服务请求排队(如 systemctl start 排队),那是 任务调度优先级。
通过:
[Service]
CPUSchedulingPriority=10
Nice=-5
查看:
systemctl show <service> -p Nice
systemctl show <service> -p CPUSchedulingPriority
[Service]
TasksMax=512
这是 Debian 开发流程,不是系统参数。
优先级由以下决定:
查看:
https://bugs.debian.org/
请说明你指的是哪一种:
listen() backlog我可以给你精确配置示例。