Linux 优化基础脚本

#!/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

关于Zeno Chen

本人涉及的领域较多,杂而不精 程序设计语言: Perl, Java, PHP, Python; 数据库系统: MySQL,Oracle; 偶尔做做电路板的开发,主攻STM32单片机
此条目发表在Linux分类目录。将固定链接加入收藏夹。