Wrayの知识库 Wrayの知识库
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
  • 操作系统概述
  • 计算机基础

  • 操作系统原理

  • Linux

    • Linux简介与发行版
    • Linux文件系统与目录结构
    • Shell与常用命令
    • Linux用户权限与sudo
    • Linux进程服务与systemd
    • Linux网络配置与排障
    • Linux软件包日志与计划任务
    • Linux存储磁盘与文件系统
    • Linux性能分析与内核参数
      • 1. 学习目标
      • 2. 知识框架
      • 3. 核心概念
      • 4. 机制与实践
      • 5. 常用命令与工具
      • 6. 常见误区
      • 7. 进阶研究方向
      • 8. Tips 快问快答
      • 9. 总结
    • Linux安全加固与容器基础
  • MacOS

  • Windows

  • 系统工程与研究专题

目录

Linux性能分析与内核参数

Linux 性能分析要从观测开始,而不是从调 sysctl 开始。内核参数能改变系统行为,但只有在证据充分时才应该调整。

# 1. 学习目标

  • 掌握 CPU、内存、磁盘、网络和系统调用的基础观测工具。
  • 理解 sysctl、ulimit、cgroup 和调度参数的影响。
  • 能形成性能基线、压测结果和调优记录。

# 2. 知识框架

Linux性能分析与内核参数
├─ 入门:建立术语、对象和日常操作的直觉
├─ 进阶:理解机制、边界和跨平台差异
└─ 专家:能排障、能设计、能阅读实现和研究材料

性能方法论:先观测,再假设,再验证,最后固化。参数调整必须有回滚方案和对照数据。

# 3. 核心概念

主题 说明 工程关注
sysctl 运行时查看和调整内核参数 网络、VM、文件句柄等行为
ulimit 进程资源限制 文件句柄、进程数、栈大小
cgroup 资源限制和统计机制 容器、服务隔离、节流
eBPF 在内核安全挂载观测程序 低侵入性能分析

# 4. 机制与实践

  1. 调参前记录当前值、问题现象、指标基线和预期变化。
  2. 优先解决应用层队列、连接池、慢查询和锁竞争,再考虑内核参数。
  3. 参数变更要灰度,观察 CPU、内存、网络错误和业务指标。

# 5. 常用命令与工具

命令或工具 作用 使用建议
sysctl -a 查看内核参数 筛选目标参数,不要盲目全改
ulimit -n 查看文件句柄限制 高并发服务重点关注
pidstat -urd 1 观察进程 CPU、内存、IO 按进程定位资源使用

# 6. 常见误区

  • 网上复制调优模板:不同内核、硬件、业务负载下参数效果不同。
  • 只提高限制不看泄漏:文件句柄上限调大不能解决连接泄漏。
  • 没有基线:没有前后对比就无法判断调优是否有效。

# 7. 进阶研究方向

  • 学习 Brendan Gregg 的 USE 方法和 Linux 性能工具体系。
  • 研究 TCP 参数、内存回收参数和文件句柄限制的真实影响。
  • 用 eBPF 工具观察系统调用延迟、磁盘延迟和网络重传。

# 8. Tips 快问快答

Q:什么时候应该调 sysctl?

A:当明确瓶颈来自内核默认行为或资源限制,并且有指标证明调整能改善问题时。

Q:ulimit 改了为什么服务没生效?

A:服务可能由 systemd 管理,需要在 unit 或 system 配置中设置限制并重启。

Q:性能优化最怕什么?

A:最怕没有证据的全局调参,可能引入新风险且难以回滚。

# 9. 总结

Linux 调优的本质是基于证据改变系统行为。参数只是工具,方法论、基线和验证才是资深工程师的分水岭。

上次更新: 2026/06/25, 10:02:19
Linux存储磁盘与文件系统
Linux安全加固与容器基础

← Linux存储磁盘与文件系统 Linux安全加固与容器基础→

Copyright © 2023-2026 Wray | 鄂ICP备2024050235号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式