服务公告
服务器重启后内核参数丢失:配置覆盖
发布时间:2026-02-20 15:38
## 症状 为了让业务跑得更稳,手动调优了一批内核参数:连接队列扩容、文件句柄上限、网络缓冲参数,当时全部生效,业务表现改善。一次计划内重启后,业务异常重现,登机器一查,参数全部回到了默认值,调优像是从没发生过。 ## 定位 原因一句话就能说清:运行时改的参数只活在内存里,重启即失。这类问题常在两个场景暴露:一是调优时用命令直接写虚拟文件系统,没有落到持久化配置;二是落了配置文件,但文件位置不对,或被后续加载的其他配置覆盖。前者是忘了第二步,后者是配置打架,两者的修复方式不同,别混着治。查证方法直接:看持久化配置目录里有没有对应条目,有但没生效的,再查加载顺序里有没有别的文件后写覆盖了它。 ``` ls /etc/sysctl.d/ sysctl --system ``` 第二条命令按顺序加载全部配置并打印每个参数的最终来源,谁覆盖了谁一清二楚。 ## 解决 把调优参数写进独立配置文件,文件名排序上放在希望覆盖他人的位置之后。 ``` echo "net.core.somaxconn = 4096" > /etc/sysctl.d/99-myapp.conf sysctl -p /etc/sysctl.d/99-myapp.conf ``` 独立文件比追加进主配置干净,后续审计与迁移都好处理。重叠参数全面清一遍,别让两处配置互相打架,清理时保留一份变更记录,注明每个参数的最终归属文件,下次排查时按图索骥。 ## 预防 调优操作的固定三步:运行时改、验证有效、写入持久化,第三步不做前两步都白费。所有手工调优登记进变更台账,重启后按台账核对一遍,丢失能第一时间发现。文件句柄类参数还有另一处用户级配置,两处一起核对才是完整的。顺云云服务器初始化时把调优脚本纳入标准流程,新机器与重建机器一次到位,不再依赖个人记忆,机器多了之后这条纪律的价值会指数级放大。上一篇: 服务器采购从买断到租用的演变
下一篇: 长期运营服的降配与升级时机