Linux性能优化核心是减少资源争用、提升I/O效率、合理分配CPU与内存,并避免冗余服务;需先用top、iostat、vmstat、pidstat等工具定位瓶颈,再针对性调优CPU绑定、磁盘调度器、文件系统挂载选项、swap策略及内存管理。

Linux性能优化核心在于减少资源争用、提升I/O效率、合理分配CPU与内存,并避免不必要的服务开销。不盲目调参,先观测再调整,是高效优化的前提。
快速定位瓶颈:用对工具比调参更重要
别一上来就改内核参数。先用基础命令摸清系统在忙什么:
-
top / htop:看CPU占用TOP进程、负载均值(Load Average)、内存使用率
-
iostat -x 1:关注 %util(接近100%说明磁盘饱和)、await(I/O等待毫秒数过高需警惕)、r/s w/s(读写频次)
-
vmstat 1:观察si/so(swap交换量,非零即内存压力大)、bi/bo(块设备I/O)、cs(上下文切换次数异常高可能有频繁进程唤醒)
-
pidstat -u -r -d 1:按进程维度同时看CPU、内存、磁盘IO消耗,精准定位“罪魁”
CPU效率提升:减少干扰,让关键任务跑得稳
CPU性能问题常源于调度争抢或中断风暴,而非主频不够:
- 用 taskset 或 cpuset 将关键服务绑定到特定CPU核心,隔离后台任务干扰
- 检查 /proc/interrupts,若某CPU上中断远高于其他,可尝试用 irqbalance 自动分发,或手动将网卡中断绑定到空闲核心(通过 smp_affinity)
- 禁用不用的内核模块(如蓝牙、红外)和开机自启服务(systemctl disable xxx),减少周期性调度开销
- 对低延迟要求高的场景,启用 NO_HZ_FULL 内核配置(需编译支持),减少tick中断
磁盘与文件系统:让读写更快更稳
多数性能卡点其实在I/O路径上:
- SSD务必开启 noop 或 kyber 调度器(echo kyber > /sys/block/nvme0n1/queue/scheduler),避免CFQ等传统调度器引入额外延迟
- 挂载ext4/xfs时加选项:noatime,nodiratime,commit=60(减少元数据写入)、SSD还可加 discard(启用TRIM)
- 临时文件目录(如 /tmp)可挂载为 tmpfs(内存文件系统),适合缓存类小文件
- 日志服务(rsyslog/journald)默认刷盘太勤,可调大 SystemMaxUse 和 RuntimeMaxUse,或设为异步写入
内存与交换:别让swap拖慢整个系统
Linux的内存管理很聪明,但swap滥用会彻底毁掉响应速度:
- 降低 vm.swappiness(建议设为1~10),让内核更倾向回收page cache而非换出匿名页
- 确认是否真缺内存:看 free -h 中 available 值,而非 total - used;若available充足却频繁swap,可能是进程内存泄漏或cgroup限制过严
- 对数据库、Java应用等内存大户,关闭透明大页(echo never > /sys/kernel/mm/transparent_hugepage/enabled),避免内存碎片与延迟抖动
- 用 cgroups v2 为关键服务设置内存上限与最小保障(memory.min, memory.high),防止单个进程吃光内存
基本上就这些——没那么玄乎,关键是养成“观测→假设→验证”的习惯。每次只改一项,对比前后指标,比堆参数有用得多。
以上就是Linux性能如何优化_关键技巧整理帮助提高效率【指导】的详细内容,更多请关注php中文网其它相关文章!