当前位置:首页>Linux>Linux系统如何根据CPU信息优化系统性能

Linux系统如何根据CPU信息优化系统性能

  • 2026-08-28 14:25:13
Linux系统如何根据CPU信息优化系统性能
一、先记住 1 个核心原则
CPU 总核心数 → 决定系统能扛多少负载
  • 负载 ≤ 核心数:很轻松
  • 负载 ≈ 核心数:刚好满
  • 负载 > 核心数:开始卡顿
  • 以4 核 CPU为例,所以:
  • load average < 2.8:非常轻松
  • 2.8~4.0:正常跑业务
  • >4:CPU 开始吃力
  • >6:系统明显卡顿

二、根据 CPU 状态,直接优化(按优先级)
1. CPU 高空闲(id 高),但系统慢
99% 不是 CPU 问题,而是:
  • 磁盘 IO 慢(%wa 高)
  • 内存不够用,开始用 swap
  • 网络慢
优化方向:
  • 加内存
  • 换 SSD
  • 检查磁盘使用率
  • 关闭不必要日志、刷盘

2. CPU us 高(用户进程占满)
表示:业务程序吃 CPU
比如 Java、Nginx、MySQL、Python、游戏服务等。
优化:
  1. top 按 P 找到占 CPU 最高的进程
  2. 看是不是死循环、大量计算
  3. 优化代码/逻辑
  4. 做集群/横向扩容
  5. 把耗 CPU 的任务放深夜跑

3. CPU sy 高(内核态高)
表示:系统内核忙
常见原因:
  • 大量中断(网卡/磁盘)
  • 大量软中断(网络包太多)
  • 频繁创建销毁进程
优化:
  • 调网卡队列
  • 关闭不必要监控
  • 避免频繁 fork 进程
  • 升级内核/驱动

4. CPU wa 高(等待磁盘)
表示:CPU 闲,但在等磁盘读写
系统会非常卡。
优化:
  • 用 SSD
  • 降低日志写入频率
  • 调整 MySQL/Redis 刷盘策略
  • 加内存,让系统多缓存文件

5. CPU hi + si 高(中断/软中断)
表示:网络/磁盘 IO 爆炸
典型:Nginx、网关、高QPS服务。
优化:
  • 开启网卡多队列
  • 调大网卡缓冲区
  • 限流、削峰

三、4 核机器最实用的优化配置(直接抄)
1. 限制最大进程/线程数(防止打满 CPU)
ulimit -n 65535
2. 调整 CPU 调度(适合服务器)
systemctl set-property user.slice CPUWeight=100
3. 把关键进程绑核(不被打扰)
taskset -c 0-1 进程PID   # 绑在 0、1 核
4. 调整 swappiness(减少用交换分区)
echo 10 > /proc/sys/vm/swappiness
5. 减少磁盘抖动
echo 30 > /proc/sys/vm/dirty_ratio
echo 10 > /proc/sys/vm/dirty_background_ratio

四、你这台 4 核机器现在状态
  • load average:0.00、0.12、0.16
  • CPU idle:99.2%
  • 内存充足
  • 无IO等待
结论:
完全不需要优化
现在性能极好
随便跑小服务、测试环境都没问题

最新文章

随机文章