Linux调整文件描述符限制

永久调整文件描述符限制

写入 limits.conf(覆盖或追加,确保配置唯一)

tee -a /etc/security/limits.conf <<EOF
# 增加文件描述符限制(支持更多TCP连接)
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535
EOF

# 若系统使用 systemd,需补充 systemd 配置(避免限制被覆盖)
tee -a /etc/systemd/system.conf <<EOF
DefaultLimitNOFILE=65535
EOF

tee -a /etc/systemd/user.conf <<EOF
DefaultLimitNOFILE=65535
EOF

# 重新加载 systemd 配置(立即生效后续启动的服务)
systemctl daemon-reload
永久调整内核tcp参数(sysctl配置)

创建独立的 TCP 优化配置文件(避免污染默认 sysctl.conf)

tee /etc/sysctl.d/99-tcp-tuning.conf <<EOF
# 允许更多 TIME_WAIT 状态连接(避免端口耗尽)
net.ipv4.tcp_max_tw_buckets = 60000

# 扩大本地端口范围(可用于主动连接的端口数量)
net.ipv4.ip_local_port_range = 1024 65535

# 增加 TCP 半连接队列长度(应对高并发握手)
net.ipv4.tcp_max_syn_backlog = 16384

# 启用 TIME_WAIT 快速回收(需配合端口复用)
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1

# 增加 TCP 全连接队列长度(已完成握手的连接队列)
net.core.somaxconn = 32768
net.core.netdev_max_backlog = 32768

# 调整 TCP 连接超时和重试参数
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_fin_timeout = 30
EOF

# 加载配置使其永久生效(重启后仍有效)
sysctl -p /etc/sysctl.d/99-tcp-tuning.conf
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容