#!/bin/bash
# setup-limits-and-bbr.sh
# 自动配置系统资源限制 + 开启 BBR
set -e
echo ">>> 第一步:修改 /etc/systemd/system.conf ..."
SYSTEM_CONF="/etc/systemd/system.conf"
cat <<EOF | sudo tee -a $SYSTEM_CONF > /dev/null
# 自定义资源限制
DefaultLimitNOFILE=8192:524288
DefaultLimitNPROC=8192:524288
EOF
echo ">>> 重新加载 systemd ..."
sudo systemctl daemon-reexec
echo ">>> 第二步:修改 /etc/security/limits.conf ..."
LIMITS_CONF="/etc/security/limits.conf"
cat <<EOF | sudo tee -a $LIMITS_CONF > /dev/null
# 自定义资源限制
* soft nofile 65536
* hard nofile 65536
EOF
echo ">>> 第三步:修改 /etc/pam.d/login ..."
PAM_LOGIN="/etc/pam.d/login"
LINE="session required /usr/lib64/security/pam_limits.so"
if ! grep -Fxq "$LINE" $PAM_LOGIN; then
echo "$LINE" | sudo tee -a $PAM_LOGIN > /dev/null
fi
echo ">>> 第四步:写入 sysctl 配置(启用 BBR)..."
CONF_FILE="/etc/sysctl.d/99-bbr.conf"
cat <<EOF | sudo tee $CONF_FILE > /dev/null
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF
sudo sysctl --system
echo ">>> 当前拥塞控制算法:"
sysctl net.ipv4.tcp_congestion_control
echo ">>> 检查是否已加载 BBR 模块:"
lsmod | grep bbr || echo "提示:未看到 tcp_bbr 也没关系,内核会按需加载。"
echo ">>> 所有设置完成!建议重新登录以使 pam/limits 配置完全生效。"
直接下载
wget https://gating.site/scrpits/setup-limits-and-bbr.sh