目录
一、性能调优的基本原则1、明确目标:调优前需明确性能瓶颈(如 CPU、内存、磁盘 I/O、网络等),避免盲目优化。
二、硬件优化1、CPU 优化
三、内核参数调优1、调整 TCP/IP 参数
四、网络性能调优1、优化网卡参数
五、进程管理与调度优化1、调整进程优先级
六、性能监控工具1、实时监控
七、案例分析与实践1、CPU 性能调优案例
八、总结 Linux 系统性能调优是一个持续的过程,需要结合硬件、内核、应用等多方面进行综合优化。通过合理的调优策略和工具,可以显著提升系统的运行效率和稳定性。建议定期监控系统性能,及时调整配置,以适应不断变化的工作负载和环境需求。
以下是一篇详细的 Linux 系统性能调优技巧教程,涵盖了硬件、内核、文件系统、内存、网络、进程管理等多个方面的优化方法,并结合实际案例和代码示例,帮助您全面提升系统性能。
2、逐步调整:每次只调整一个参数或配置,观察效果后再决定是否继续。
3、监控与分析:使用性能监控工具(如 top、vmstat、iostat 等)实时监控系统状态,定位瓶颈
4、备份与回滚:修改关键配置前备份相关文件,确保出现问题时可快速恢复。
cpufreq-set -g performance # 设置为高性能模式
绑定进程到指定 CPU:使用 taskset 将关键进程绑定到特定 CPU 核心,减少上下文切换。
taskset -c 0,1 ./program # 绑定到 CPU 0 和 1
2、内存优化
echo 256 > /proc/sys/vm/nr_hugepages # 启用 256 个大页
sysctl vm.swappiness=10 # 默认值为 60,建议设置为 10
3、存储优化
mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sd{a,b,c,d}
echo noop > /sys/block/sda/queue/scheduler
sysctl -w net.ipv4.tcp_window_scaling=1
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_tw_recycle=1
2、优化内存管理
sysctl vm.dirty_ratio=20
sysctl vm.dirty_background_ratio=10
echo always > /sys/kernel/mm/transparent_hugepage/enabled
3、文件系统优化
mount -o remount,noatime /
echo "* hard nofile 65535" >> /etc/security/limits.conf
echo "* soft nofile 65535" >> /etc/security/limits.conf
ifconfig eth0 rxqueuelen 1000
sysctl -w net.core.netdev_max_backlog=5000
ethtool -L eth0 combined 8 # 启用 8 个队列
2、优化 DNS 解析
yum install nscd
systemctl start nscd
nice -n -10 ./program # 启动时设置优先级
renice -n -5 -p 1234 # 调整运行中进程的优先级
2、减少上下文切换
vmstat 1 5 # 每 1 秒输出一次,共 5 次
iostat -x 1 5 # 每 1 秒输出一次,共 5 次
2、性能分析
perf record -g ./program
perf report
strace -p 1234 # 跟踪进程 1234 的系统调用
2、内存泄漏案例