利用 CPUInfo 提升 Linux 性能
一 关键认知与收集方法
二 从 CPUInfo 到优化策略的映射
| 从 CPUInfo 观察到的要点 | 可采取的优化动作 |
|---|---|
| 物理核心/逻辑处理器 数量 | 设置合理的并发线程数(如接近逻辑处理器数);CPU 密集任务优先使用多线程/多进程并行。 |
| 超线程/SMT 开启 | 对延迟敏感或强单线程任务,尝试将关键进程绑定到物理核心(避开同核超线程兄弟线程),减少资源争用。 |
| 频率与电源策略 | 将 scaling_governor 调整为 performance;用 cpupower frequency-info 检查是否触发 Turbo Boost;监控温度避免热降频。 |
| 缓存大小 L3/L2 | 优化数据局部性:增大缓存命中(批处理、分块、减少随机访问);为数据库/计算任务配置合适的 work_mem/page cache。 |
| 指令集支持(AVX/AVX2/AVX-512) | 编译时启用 -march=native 或针对性 ISA;对热点路径使用向量化/汇编优化;在不支持的硬件上回退兼容实现。 |
| NUMA 拓扑 | 使用 numactl 将内存与进程就近绑定(如 numactl -N 0 -m 0 app),降低跨 NUMA 访问延迟。 |
| 微架构代际 | 老旧微架构优先考虑升级硬件;在新平台上启用更激进的并行与向量化选项。 |
三 快速诊断与优化操作清单
四 常见陷阱与验证