说到Linux内核优化,我就想起之前给一台老旧服务器续命的经历。那台机器跑着CentOS 7,装上BBR后网络性能直接起飞,让我深刻意识到内核调优的神奇之处 – 改几个参数就能让老机器焕发新生!其实Linux内核就像个万能工具箱,里面藏着无数可以微调的”机关”。
TCP/IP协议栈调优还是要看业务场景
BBR确实是个好东西,但TCP优化远不止于此。比如SYN洪水防护的syncookies参数,数据库服务器应该关掉(net.ipv4.tcp_syncookies=0
),而Web服务器就得开着;对于高并发短连接服务,tcp_tw_reuse
和tcp_tw_recycle
这些TIME-WAIT优化就特别实用。

文件系统优化是个技术活
曾经有个MySQL服务器,我把ext4的文件系统挂载参数从默认的defaults
改成noatime,data=writeback,barrier=0
,IOPS直接提升了30%!不过要注意,barrier=0在断电时可能丢数据,适合带UPS的服务器。XFS文件系统的allocsize
参数对大文件应用也很关键,视频网站可以设到1MB以上。
内存管理里的学问
我发现很多运维同行动不动就改vm.swappiness
,但你知道吗?这个值设成0可能导致OOM Killer乱杀进程。建议数据库服务器设1-10,普通服务器30-60。还有个容易忽视的参数vm.dirty_ratio
,控制脏页占比,在写密集型应用中可以适当调大,前提是你的服务器电源够稳。
调度器选择影响CPU效率
CFS调度器默认已经不错了,但在特定场景下可以更激进。比如实时任务多的服务器可以把kernel.sched_min_granularity_ns
调小;而像HPC计算这类场景,使用isolcpus
参数隔离核心反而能提升性能 – 我实测过某个科学计算任务,隔离后运算时间缩短了15%。
说实话,内核优化没有放之四海皆准的”完美配置”,关键要理解业务特性和参数含义。每次改动前做好记录,用sysbench、fio这些工具做好基准测试,这样才能找到最适合你服务器的”黄金配置”。
文章版权归原作者所有。转载请注明出处:https://www.idchunter.com/index.php/thread/linux-kernel-optimization/
评论列表(10条)
BBR真的能让网速飞起吗?我家小水管也想试试看
看到这个突然想起上次改错参数把服务器搞崩了,差点被领导骂死 😅
想问下作者,为什么数据库要关掉syncookies呢?Web开着我能理解
干货满满!果断收藏,周末就照着这个来优化我们的测试服务器
其实内核优化还是有点风险的,新手建议先在虚拟机练手
说得太对了!我们之前服务器卡成狗,调整了TCP参数之后速度提升了至少50%
内存管理那块给了我很多启发,以后不会再无脑改swappiness了
大佬能不能详细说说XFS的设置?我们正好在做视频存储方案
看到这篇马上发给运维组的同事了,他们整天折腾服务器参数来着 👍
学废了学废了,虽然看不懂但感觉很厉害的样子