当前位置: 首页 > news >正文

Linux系统性能调优实战:CPU、内存、磁盘、网络四维优化

一、引言

运维工作中,性能调优是最常遇到也最能体现技术水平的工作之一。一个配置不当的系统,可能在并发量上来后直接崩溃。本文从CPU、内存、磁盘、网络四个维度,结合实际案例讲解Linux系统性能调优方法。

二、CPU性能调优

2.1 查看CPU瓶颈

# 查看CPU负载
top -bn1 | head -5
# 查看CPU上下文切换
vmstat 1 5
# 查看进程CPU占用详情
pidstat -u 1 5
# 查看中断分布
cat /proc/interrupts | head -20

2.2 CPU调优策略

场景一:大量上下文切换。如果vmstat显示的cs(context switch)值过高(大于10万/秒),说明系统在做大量无用的调度。可以调整进程的nice值和调度策略:

# 调整进程优先级(-20最高,19最低)
renice -n -10 -p $(pgrep nginx)
# 设置CPU亲和性(绑定到指定核心)
taskset -c 0,1 $(pgrep -f "java.*app")

场景二:CPU软中断过高。如果top中si(softirq)持续偏高,通常是网卡中断处理不过来:

# 启用RPS(Receive Packet Steering)分散中断
echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus
# 调整网络预算,提高软中断处理效率
echo 300 > /sys/class/net/eth0/gro_flush_timeout

三、内存性能调优

3.1 内存使用分析

# 查看内存使用
free -h
# 查看内存详细使用
cat /proc/meminfo
# 查看进程内存占用
smem -r -s rss | head -10
# 查看内存页错误
sar -B 1 5

3.2 内存调优策略

# 调整swappiness(减少swap使用)
echo "vm.swappiness = 10" >> /etc/sysctl.conf
sysctl -p
# 调整内存分配策略
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf   # 允许内存过量分配
echo "vm.dirty_ratio = 30" >> /etc/sysctl.conf         # 脏页比例
echo "vm.dirty_background_ratio = 10" >> /etc/sysctl.conf
# 大页内存配置(适用于数据库等大内存应用)
echo "vm.nr_hugepages = 1024" >> /etc/sysctl.conf
# 确认HugePages已分配
grep HugePages /proc/meminfo

四、磁盘I/O性能调优

4.1 I/O瓶颈分析

# 查看磁盘I/O
iostat -x 1 5
# 查看进程I/O
iotop
# 查看文件系统缓存
cat /proc/slabinfo | head -10

4.2 I/O调度器优化

# 查看当前I/O调度器
cat /sys/block/sda/queue/scheduler
# SSD推荐使用none(NVMe)或kyber
echo none > /sys/block/nvme0n1/queue/scheduler
# HDD推荐使用mq-deadline
echo mq-deadline > /sys/block/sda/queue/scheduler
# 调整I/O请求合并
echo 0 > /sys/block/sda/queue/nomerges
echo 1024 > /sys/block/sda/queue/read_ahead_kb

4.3 文件系统优化

# 调整文件系统挂载参数
mount -o noatime,nodiratime,data=writeback /dev/sda1 /data
# XFS参数优化(最佳实践,大文件场景)
mkfs.xfs -f -d agcount=8 -l size=128m -n size=8192 /dev/sdb1
# 禁用文件系统访问时间更新
echo "UUID=$(blkid /dev/sda1 | awk '{print $2}') /data xfs defaults,noatime 0 0" >> /etc/fstab

五、网络性能调优

5.1 网络瓶颈分析

# 查看网络流量
sar -n DEV 1 5
# 查看TCP连接状态
ss -s
# 查看重传率
netstat -s | grep retransmit

5.2 网络参数优化

# TCP内核参数调优
cat >> /etc/sysctl.conf <<>


原文链接:https://shibaolong.com/114/
更多安全技术文章请访问 月梦沉冰的安全博客

http://www.jsqmd.com/news/699687/

相关文章:

  • 网络工程师避坑指南:华为MSTP与VRRP联动配置时,这几个参数没设对等于白干
  • 大模型学习路线图:小白也能轻松入门,附收藏版学习资料
  • 双层可移动天线系统在5G/6G中的优化设计与实现
  • 别再写多层if-else了!用Java 8的Comparator.thenComparing优雅搞定多级排序
  • 别再只画直线了!用CarSim自定义路面纹理,让你的仿真场景告别‘塑料感’
  • AD9361实战指南:从参考时钟到增益控制的射频收发器核心配置
  • 终极图像数据提取指南:如何从图表图片中快速获取数值数据
  • 达梦数据库(DM8)安装部署与初始化配置完全指南
  • 信息安全工程师-网络攻击技术体系与核心方法:核心考点
  • AutoCAD字体管理终极方案:FontCenter完整使用教程
  • Arduino IDE 5步入门指南:从零开始轻松玩转硬件编程
  • AD7124-8/AD7124-4调试血泪史:SPI速率、SYNC悬空、寄存器写入失败,这些坑你踩过几个?
  • Zabbix 7.0监控系统从零部署到生产实践(2026版)
  • Voxtral-4B-TTS-2603效果展示:德语科技新闻语音输出——辅音清晰度与长句断句实测
  • 基于Simulink仿真的永磁同步电机死区补偿策略实践
  • 企业级容器化架构设计:MDCx Docker部署实战解决方案
  • Banana Pi BPI-CM5 Pro:高性能AI边缘计算模块解析
  • 你的Termux终端太丑了?手把手教你用Oh My Zsh打造高颜值命令行(附字体配色方案)
  • OMC - 08 在多 Agent 时代,如何优雅地「分工协作」:oh-my-claudecode 委托分类体系深度解读
  • cryptography,一个让 Python 应用坚不可摧的密码学利器!
  • XGBoost实战:Python环境下的7步极简教程
  • Camera成像竖线故障:从现象到芯片级定位的完整排查指南
  • 终极解决方案:开源SensitivityMatcher如何实现跨游戏鼠标灵敏度精准匹配
  • WebAssembly赋值语法区别
  • Docker容器安全指南(2026版)——从镜像到运行时的全链路防护
  • 2026年SCI期刊AIGC检测合规攻略:期刊AI率降到10%以下3步走
  • 别再乱用yaml.load了!一个真实案例告诉你为什么Python解析YAML必须用safe_load
  • 最新.NET新手入门学习网站合集(2026更新版)
  • 量子计算在金融组合优化中的创新应用
  • 终极指南:如何在3分钟内为Windows电脑免费扩展无限虚拟显示器