Skip to content

Commit 30c8fc4

Browse files
authored
Update install.sh
1 parent 8bb5b87 commit 30c8fc4

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

install.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,20 +41,22 @@ clean_sysctl_conf() {
4141
# 函数:加载队列调度模块
4242
load_qdisc_module() {
4343
local qdisc_name="$1"
44+
local module_name="sch_$qdisc_name"
4445

45-
# fq 和 fq_codel 是内核内置的,不需要加载模块
46-
if [[ "$qdisc_name" == "fq" || "$qdisc_name" == "fq_codel" ]]; then
46+
# 检查队列算法是否已可用(通过尝试读取当前可用的 qdisc)
47+
# 如果 sysctl 能成功设置,说明模块已存在
48+
if sudo sysctl -w net.core.default_qdisc="$qdisc_name" > /dev/null 2>&1; then
49+
# 恢复原设置
50+
sudo sysctl -w net.core.default_qdisc="$CURRENT_QDISC" > /dev/null 2>&1
4751
return 0
4852
fi
4953

50-
local module_name="sch_$qdisc_name"
51-
5254
# 检查模块是否已加载
5355
if lsmod | grep -q "^${module_name//-/_}"; then
5456
return 0
5557
fi
5658

57-
# 尝试加载模块
59+
# 模块不存在,尝试加载
5860
echo -e "\033[36m正在加载内核模块 $module_name...\033[0m"
5961
if sudo modprobe "$module_name" 2>/dev/null; then
6062
echo -e "\033[1;32m✔ 模块 $module_name 加载成功\033[0m"

0 commit comments

Comments
 (0)