I/O调度器分析
iostat -x 1
监控设备I/O负载/sys/block/[device]/queue/scheduler
当前调度算法中断处理分析
cat /proc/interrupts
查看中断分布perf top
监控CPU热点DMA与缓存效率
dmesg | grep -i dma
确认DMA配置free -h
查看内存缓存使用情况# 查看可用调度器
cat /sys/block/sda/queue/scheduler
# 临时切换为deadline调度器(适合SSD)
echo deadline > /sys/block/sda/queue/scheduler
# 永久生效(在/etc/rc.local中添加)
echo 'echo deadline > /sys/block/sda/queue/scheduler' >> /etc/rc.local
# 安装irqbalance工具
sudo apt install irqbalance
# 手动设置IRQ亲和性
echo 2 > /proc/irq/22/smp_affinity
# 调整预读大小(适合SSD)
blockdev --setra 256 /dev/sda
# ext4优化挂载选项(在/etc/fstab中修改)
/dev/sda1 / ext4 noatime,nodiratime,data=writeback,barrier=0 0 1
# XFS优化
mkfs.xfs -f -l size=64m -d agcount=4 /dev/sda1
内核参数调优
# 增加文件描述符限制
echo "fs.file-max = 1000000" >> /etc/sysctl.conf
# 调整虚拟内存参数
echo "vm.swappiness = 10" >> /etc/sysctl.conf
echo "vm.dirty_ratio = 10" >> /etc/sysctl.conf
echo "vm.dirty_background_ratio = 5" >> /etc/sysctl.conf
# 应用修改
sysctl -p
CPU频率调节
# 安装cpufrequtils
sudo apt install cpufrequtils
# 设置为performance模式
echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils
sudo systemctl restart cpufrequtils
NUMA优化
# 查看NUMA状态
numactl --hardware
# 绑定进程到特定NUMA节点
numactl --cpunodebind=0 --membind=0 your_application
网络驱动优化
# 调整Ring Buffer大小
ethtool -G eth0 rx 4096 tx 4096
# 启用GRO/GSO
ethtool -K eth0 gro on gso on
存储驱动优化
# 调整SCSI超时(适合SAN环境)
echo 180 > /sys/block/sda/device/timeout
显卡驱动优化
# 对于NVIDIA驱动
nvidia-settings --assign=GPUPowerMizerMode=1
性能基准测试
# I/O测试
hdparm -Tt /dev/sda
# 综合性能测试
sysbench --test=cpu --cpu-max-prime=20000 run
实时监控工具
# 综合监控
dstat -cdngy
# I/O详细监控
iotop -o
延迟测量
# 安装并运行cyclictest
sudo apt-get install rt-tests
cyclictest -t1 -p80 -n -i 10000 -l 10000
通过以上优化措施,可以显著提升Linux系统的响应速度和整体性能。建议根据具体硬件配置和工作负载特点选择性实施,并通过监控工具验证优化效果。