加入收藏 | 设为首页 | 会员中心 | 我要投稿 站长网 (https://www.jiakaowang.com/)- 应用程序、AI行业应用、CDN、低代码、区块链!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux环境搭建太慢?3步绕过90%配置陷阱

发布时间:2026-10-30 14:03:11 所属栏目:Linux 来源:DaWei
导读:  去年四月份,总编把选题单拍在玻璃隔断上,说“这篇必须下周上线”,我盯着那行字看了十八分钟——不是思考,是等他走。他转身前碰倒了隔壁桌的美式,咖啡沿桌沿滴到地上,像条黑线,没人擦。我伸手去拿纸巾,发现笔筒里那支蓝色

  去年四月份,总编把选题单拍在玻璃隔断上,说“这篇必须下周上线”,我盯着那行字看了十八分钟——不是思考,是等他走。他转身前碰倒了隔壁桌的美式,咖啡沿桌沿滴到地上,像条黑线,没人擦。我伸手去拿纸巾,发现笔筒里那支蓝色中性笔从三月用到现在,没动过,帽儿都干瘪了。


  我原以为问题是源码镜像慢,结果查了一下午,发现是 systemd-resolved 在 DNS 轮询里卡了 3.7 秒——它默认把 .local 域扔给 avahi-daemon 处理,而我们压根没开 avahi。这个我敢打包票,改 /etc/systemd/resolved.conf 加一句 'Domains=~.' 就行,但没人查这个,全在重装 docker-ce 包。小编蹲在工位上重刷 apt list --upgradable 刷新了十七次,键盘右下角那颗 Ctrl 键油光锃亮,像块黑琥珀。


文章配图,仅供参考

  第一步:删掉 /etc/apt/sources.list.d/ 里所有带“cloud”“mirror”“aliyun”的第三方源。别犹豫,就删。去年我们线上集群挂了两小时,最后定位到是某云厂商镜像同步延迟 42 分钟,导致 openssl 版本混杂。你信不信?反正我删完立刻切回 debian.org 官方源,apt update 从 4 分 11 秒缩到 23 秒。但你不能说“官方源更稳”,得说“它不骗你”,因为阿里云源今天好使,明天突然把 python3.9-venv 打包进 python3-distutils,你 build 阶段才报错——这种事发生过,我不编年份,但记得清清楚楚,那个错误日志第一行是 “/usr/bin/python3: Error while finding module specification for 'venv' (ModuleNotFoundError: No module named 'distutils')”。


  第二步:别装 node.js。用 nvm?太慢。用 snap?别笑出声。直接下载预编译二进制,chmod +x,ln -s 进 /usr/local/bin —— 就这三步,别配 PATH,PATH 是留给要写 CI 脚本的人的,你是搭环境,不是写部署文档。我见过最离谱的:作者为配 npm 全局路径,写了八百行 bash 函数判断 $HOME/.nvm 是否存在、是否含 v18.19.0 子目录、是否被 gitignore 掩盖……最后他 exec bash -l 时卡在 shell 初始化里,因为他 ~/.bashrc 第 112 行有句 curl -s https://api.ipify.org,而当天 API 故障。他盯着终端光标闪了六分半,旁边实习生端着凉透的麻辣香锅路过,米饭结成灰白色硬块,没人动筷。


  第三步:关掉 swap。不是调 swappiness,是 swapoff -a && sed -i '/swap/d' /etc/fstab。我知道有人说“K8s 文档要求留着”,我也知道他们自己测试环境从来不开 swap。优胜劣汰——这话真不是鸡汤,是血验出来的。我们去年上线新支付通道,压力测试跑一半,Node 吃满 swap 后 GC 直接飘移,GC 时间从 17ms 拉到 2.3 秒,但 metrics 看不出来,因为 process_resident_memory_bytes 没飙,swap_used_bytes 却压根不在默认监控项里。这个我说不准到底算不算陷阱,反正我们后来把 swap 监控加进了 Prometheus alert.rules 第 4 条,但它至今没触发过一次。因为——我们都关了。


  对了,上次复盘会有人提“要不要统一内核参数模板”,我点头说好,结果散会后看见总编在钉钉发了个链接,标题叫《Linux 内核调优终极指南(2023修订版)》,点进去第一页就写:“请确保已关闭 SELinux”。他不知道我们连 setenforce 0 都懒得敲,直接 grub 配置里加 selinux=0。我截图发群,三秒后作者回:“啊这…其实咱们线上 SELinux 是 enforcing 状态?” 我说那你检查下 /sys/fs/selinux/enforce,他说 cat 出来是 1,但 /etc/selinux/config 里写的是 disabled——你猜怎么着?systemctl restart auditd 后,enforce 居然变 0 了。这事儿我没深究,审计日志太多,我扫了眼 /var/log/audit/audit.log 最后一行时间戳,是凌晨两点零七分,而我们值班表上周五的交接班时间是两点整。手机突然响了一声,是我妈问医保卡密码是不是改成身份证后六位了。我回了个“是”,再抬头,群里已经刷到 32 条,全是“重启 auditd???”和一个捂脸表情包。


  说白了,Linux 搭建慢不是系统的问题,是人的问题。人总想“一次配好”,结果三年没动过的 /etc/sysctl.conf 里还挂着 net.ipv4.tcp_tw_reuse = 0,而真正卡住的永远是那个藏在 profile.d 里某脚本末尾的 sleep 1——它只在 root 用户 login 时触发,普通 sudo 不走这条链。你测十遍都顺利,偏偏 CI runner 用的是 nobody 用户,一跑就卡死。这谁防得住?靠文档?文档写着“避免 sleep”,可它就躺在那儿,像个没拆封的快递盒,贴着胶带,地址都没撕。上次工资条发下来,绩效栏写了“基础建设贡献”,我看了一眼备注,小字写着“含环境标准化推进”,底下加粗:“未完成 KPI 第 7.2 条”。第七条是什么?忘了。反正是个编号。


  下次选题会我打算闭嘴,只带一杯冰美式,杯底凝着水珠,在会议桌留下三个椭圆印子,慢慢洇开。反正稿子交出去,活不过三小时——总编刚在群公告里说,明早九点前必须删掉所有“陷阱”这个词,换成“常见干扰项”。他喜欢这个词。他手机响了一声,我听见铃声是《命运交响曲》开头四个音。没停顿,直接放完。

(编辑:站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!