Linux 性能优化:从入门到精通的系统调优指南
Linux 性能优化是每个运维和开发人员的必备技能。从 CPU 调度到内存管理,从磁盘 I/O 到网络优化,本文带你系统掌握 Linux 性能调优的核心技术。
一、性能分析方法论
性能优化不是盲目调参,而是一个系统性的工程。建议遵循以下流程:
1. 确定瓶颈:通过监控工具定位问题
2. 分析原因:深入理解底层原理
3. 针对优化:采取合适的优化措施
4. 验证效果:对比优化前后的性能
二、CPU 性能分析
2.1 常用工具
# 查看系统负载 uptime # 实时监控 top -p PID htop # 查看所有 CPU 状态 mpstat -P ALL 1 # 进程级 CPU 使用 pidstat -p PID 1
2.2 CPU 使用率分析
# 查看 CPU 时间分布 cat /proc/stat # 用户态、内核态、空闲时间 # user: 用户态时间 # nice: 低优先级用户态时间 # system: 内核态时间 # idle: 空闲时间 # iowait: I/O 等待时间
2.3 进程优先级调整
# 启动时设置 nice 值 nice -n 10 ./myapp # 运行中调整 renice -n 5 -p 1234 # 查看进程优先级 ps -eo pid,ni,comm | grep myapp
三、内存性能优化
3.1 内存信息查看
# 查看内存使用 free -h # 详细内存信息 cat /proc/meminfo # 进程内存使用 ps aux --sort=-%mem | head # pmap 查看进程内存映射 pmap -x PID
3.2 内存回收机制
# 查看当前设置 cat /proc/sys/vm/swappiness # 调整 swap 使用倾向(0-100,越小越少使用) sysctl vm.swappiness=10 # 清理缓存 sync && echo 3 > /proc/sys/vm/drop_caches
3.3 内存限制
# 限制进程内存 ulimit -v 1048576 # 限制为 1GB # cgroup 内存限制 echo 1G > /sys/fs/cgroup/memory/mygroup/memory.limit_in_bytes
四、磁盘 I/O 优化
4.1 I/O 监控
# 查看磁盘统计 iostat -x 1 # 实时 I/O 监控 iotop # 查看块设备 lsblk # 查看磁盘分区 fdisk -l
4.2 调度算法
# 查看当前调度器 cat /sys/block/sda/queue/scheduler # 修改调度器 echo noop > /sys/block/sda/queue/scheduler echo deadline > /sys/block/sda/queue/scheduler echo cfq > /sys/block/sda/queue/scheduler
4.3 文件系统优化
# 挂载选项优化 mount -o noatime,nodiratime /dev/sda1 /mnt # ext4 优化选项 tune2fs -o journal_data_writeback /dev/sda1 # 查看 inode 使用 df -i
五、网络性能优化
5.1 网络监控
# 查看网络连接状态 ss -tunap # 网络流量监控 iftop # 连接统计 netstat -s # 抓包分析 tcpdump -i eth0 port 80
5.2 内核参数优化
# TCP 参数优化 sysctl -w net.core.somaxconn=65535 sysctl -w net.ipv4.tcp_max_syn_backlog=65535 sysctl -w net.ipv4.tcp_tw_reuse=1 sysctl -w net.ipv4.tcp_fin_timeout=30 # 缓冲区大小 sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
5.3 连接数优化
# 查看文件描述符限制 ulimit -n # 修改限制 ulimit -n 65535 # 永久修改 echo "* soft nofile 65535" >> /etc/security/limits.conf echo "* hard nofile 65535" >> /etc/security/limits.conf
六、综合性能工具
# sar 综合监控 sar -u 1 5 # CPU sar -r 1 5 # 内存 sar -b 1 5 # I/O sar -n DEV 1 5 # 网络 # perf 性能分析 perf top perf record -g ./myapp perf report # vmstat 综合视图 vmstat 1
七、总结
Linux 性能优化是一个系统工程,需要综合考虑 CPU、内存、I/O、网络等多个方面。关键在于:
1. 持续监控,及时发现问题
2. 理解原理,找准优化方向
3. 小步迭代,验证优化效果
4. 记录文档,积累优化经验
性能优化没有银弹,但掌握正确的方法论和工具,能让你事半功倍。
本文链接:https://www.kkkliao.cn/?id=775 转载需授权!
版权声明:本文由廖万里的博客发布,如需转载请注明出处。



手机流量卡
免费领卡
号卡合伙人
产品服务
关于本站
