Linux 上下文优化系统性能
一 上下文切换的影响与判断
二 应用与架构层优化
三 内核与系统层优化
四 监控与诊断流程
五 场景化配置建议
| 场景 | 关键动作 | 参考阈值或命令 |
|---|---|---|
| 高并发网络服务 | 采用 epoll + 线程池;将监听线程与工作线程分别绑定不同 CPU;将网卡中断绑定到专用核;限制短任务线程数 | 线程数 ≈ 核心数 × 2~4;cs 控制在 ≤ 核心数 × 1000;/proc/irq/N/smp_affinity 配置中断亲和性 |
| 数据库/延迟敏感 | 禁用 THP;为关键进程设置 CPU 亲和性;减少锁竞争;必要时使用 SCHED_FIFO 的实时线程处理短实时任务 | echo never > /sys/kernel/mm/transparent_hugepage/enabled;taskset/sched_setaffinity 固定核心 |
| 计算/存储密集 | 适度增大 sched_latency_ns / sched_migration_cost_ns 减少迁移;NUMA 本地内存优先;中断与计算核隔离 | 结合 perf/vmstat 观察 cs 与 CPI/缓存命中 的联动变化 |