一、前言
在服务器运维、云原生部署、AI计算平台等场景中,Linux 系统性能调优 是每一位工程师必须掌握的核心技能。
许多人以为“性能优化”只是改配置、加CPU,实则真正的优化是 系统性分析 + 定位瓶颈 + 精准调优。
本文带你从入门到实战,手把手完成一次真实的 Linux 性能调优流程。
二、实验环境准备
|
项目 |
说明 |
|
操作系统 |
RedHat Enterprise Linux 9 / Ubuntu 22.04 |
|
CPU |
4核或以上 |
|
内存 |
8GB+ |
|
工具包 |
sysstat、htop、iostat、perf、netstat、vmstat |
安装常用性能分析工具
sudo yum install -y sysstat htop perf net-tools
sudo systemctl enable –now sysstat
验证:
mpstat
iostat
vmstat 1 5
三、CPU性能分析与优化
1. 查看系统整体CPU负载
uptime
输出示例:
13:12:32 up 1 day, 4:22, 3 users, load average: 3.21, 2.91, 2.11
若平均负载长期超过 CPU 核心数的 70%,需重点关注。
2. 实时监控CPU占用
htop
- 颜色区分:绿色为用户进程,红色为系统进程。
- 找出高CPU占用进程 → 按 F9 可直接终止。
3. 查看具体进程消耗
pidstat -u 1 5
定位某个高占用进程后,进一步使用:
perf top -p <pid>
分析其函数调用热点,协助开发者优化代码性能。
四、内存性能分析与优化
1. 查看内存使用状况
free -h
若 swap 长期占用较高,则代表物理内存不足。
2. 查看哪个进程占用内存最多
ps aux –sort=-%mem | head -10
3. 内核缓存优化
当缓存占用过多时,可手动清理:
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
⚠️ 提议仅在内存告急或非高峰时执行。
五、磁盘IO性能优化
1. 查看磁盘读写性能
iostat -x 1 5
重点关注:
- %util:磁盘使用率
- await:平均等待时间
2. 优化挂载参数
编辑 /etc/fstab:
/dev/sda1 /data ext4 defaults,noatime,nodiratime 0 0
- noatime:关闭访问时间写入,减少磁盘IO。
- nodiratime:同理,优化目录访问性能。
3. 调整I/O调度策略
cat /sys/block/sda/queue/scheduler
echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler
六、网络性能调优
1. 查看网络吞吐与延迟
ifstat 1
ping -c 5 www.baidu.com
2. 调整系统参数(优化 TCP)
编辑 /etc/sysctl.conf:
net.core.somaxconn = 1024
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 60
应用配置:
sudo sysctl -p
3. 查看网络连接状态
ss -tulnp
快速定位异常端口、过多的 TIME_WAIT 状态。
七、系统参数高级优化
1. 文件描述符优化
默认值往往太小,提议调高:
ulimit -n 65535
永久生效:
echo “* soft nofile 65535” | sudo tee -a /etc/security/limits.conf
echo “* hard nofile 65535” | sudo tee -a /etc/security/limits.conf
2. 调整内核参数提升吞吐量
sysctl -w vm.swappiness=10
sysctl -w fs.file-max=2097152
八、实战案例:真实优化效果
|
优化前 |
优化后 |
|
平均响应时间:220ms |
95ms |
|
CPU占用率:85% |
45% |
|
磁盘IO延迟:40ms |
10ms |
|
网络吞吐:800Mbps |
1.3Gbps |
九、总结与经验分享
- 性能优化不是一次性行为,而是持续监测的过程;
- 先分析,再调优,不要盲目更改系统参数;
- 善用工具(如 htop、perf、iostat、ss)能大幅提升排障效率;
- 最终目标:让系统稳定、高效、可扩展。

















暂无评论内容