Linux 性能优化实战:从方法论到 CPU / 内存 / I/O / 网络逐层调优 – 刘子毅
面向有 Linux 使用经验的运维与 DBA。文中命令请在目标环境核实设备名、路径、版本后再执行;涉及内核参数与不可逆操作的步骤,均先说明前提、影响与回退。 一、为什么“优化”常常变成“瞎调” 很多性能问题并不是“参数没调好”,而是一开始就定位错了瓶颈。典型误判有: 看到 load average 很高,就认定 CPU 不够——其实大量进程处于 D 状态在等 I/O; 看到 %util 100%,就认定磁盘打满——在 NVMe/多队列设备上几乎必然如此; 看到 wa(iowait)下降,就以为 I/O 变好了——可能只是换成了更快的设备; 把应用问题当成系统问题,或反过来。 所以性能优化的第一步不是“调参”,而是用正确的指标把瓶颈层定位准确,再逐层动手。 二、一句话理解 性能优化 = 先定位瓶颈层(应用 / 语言框架 / 内核 / 硬件),再在该层做“减少等待、减少拷贝、提高并行度”三件事。 定位靠的是“从全局到局部、从现象到根因”的工具链;优化靠的是分层框架,而不是盲目堆参数。 三、核心方法论 3.1 四层次优化框架 层次 优化方向 常用手段 第一层:应用层 找热点函数、删减逻辑、优化算法 火焰图、内存对齐、避免微服务过细 第二层:语言与框架 选对语言、网络模型、内存分配器 C/Rust 做基础软件、Go/Java 做业务;epoll/gnet;tcmalloc/jemalloc 第三层:内核 减少系统调用、关闭 swap、大页、调度策略 taskset、nice、chrt、容器 throttle、离线调度器 […]