插件窝 干货文章 汇总:20个 Linux 服务器性能调优技巧

汇总:20个 Linux 服务器性能调优技巧

sudo bash 使用 性能 718    来源:    2025-04-13

以下是20个实用的Linux服务器性能调优技巧,涵盖系统配置、内核参数、资源管理等方面,帮助提升服务器响应速度和资源利用率:


1. 升级内核和软件

# 保持系统最新
sudo apt update && sudo apt upgrade -y  # Debian/Ubuntu
sudo yum update -y                      # RHEL/CentOS
  • 使用最新稳定版内核(如5.x+)获取性能改进和新特性

2. 调整内核参数

编辑 /etc/sysctl.conf

# 提升网络性能
net.core.somaxconn = 4096       # 提高TCP连接队列
net.ipv4.tcp_tw_reuse = 1       # 快速回收TIME_WAIT连接
net.ipv4.tcp_fin_timeout = 30   # 减少FIN超时

# 内存管理
vm.swappiness = 10              # 减少交换分区使用
vm.dirty_ratio = 60             # 脏页写入阈值
vm.dirty_background_ratio = 5   # 后台脏页刷新阈值

# 文件系统
fs.file-max = 1000000           # 增加最大文件描述符

应用修改:sudo sysctl -p


3. 优化文件系统

  • 使用ext4xfs文件系统,挂载时启用优化选项: bash # /etc/fstab 示例 UUID=xxx / ext4 defaults,noatime,nodiratime,data=writeback 0 1
    • noatime:禁止记录访问时间
    • data=writeback:提高写入性能(需权衡数据安全)

4. 调整I/O调度器

# 查看当前调度器
cat /sys/block/sda/queue/scheduler

# 设置为deadline或kyber(SSD推荐)
echo "deadline" | sudo tee /sys/block/sda/queue/scheduler
  • SSDkybernone
  • HDDdeadline

5. 禁用不必要的服务

# 查看所有服务
systemctl list-unit-files --type=service

# 禁用打印服务(若无打印机)
sudo systemctl disable cups

6. 限制进程资源

  • 使用cgroupssystemd限制资源: ini # /etc/systemd/system/myapp.service [Service] MemoryLimit=2G CPUQuota=80%

7. 优化TCP/IP栈

# /etc/sysctl.conf
net.ipv4.tcp_slow_start_after_idle = 0  # 禁用慢启动
net.ipv4.tcp_window_scaling = 1         # 启用窗口缩放
net.core.rmem_max = 16777216            # 增大接收缓冲区

8. 调整ulimit

# 修改全局限制(/etc/security/limits.conf)
* soft nofile 65535
* hard nofile 65535

9. 使用高效DNS解析

# 使用DNS缓存(如systemd-resolved)
sudo systemctl enable systemd-resolved

10. 启用透明大页(THP)

# 检查状态
cat /sys/kernel/mm/transparent_hugepage/enabled

# 建议设置为"madvise"
echo "madvise" | sudo tee /sys/kernel/mm/transparent_hugepage/enabled

11. 优化SSH性能

# /etc/ssh/sshd_config
UseDNS no
GSSAPIAuthentication no

12. 定期清理日志

# 使用logrotate自动轮转日志
sudo logrotate -f /etc/logrotate.conf

13. 监控工具

  • 实时监控: bash htop # 交互式进程查看 iotop -o # 高磁盘IO进程 iftop # 网络流量监控

14. 调整CPU频率

# 设置为性能模式
sudo cpupower frequency-set -g performance

15. 减少磁盘碎片(HDD)

# 定期整理
sudo e4defrag /  # ext4文件系统

16. 优化MySQL/MariaDB

# my.cnf 关键参数
innodb_buffer_pool_size = 4G    # 分配足够内存
innodb_flush_log_at_trx_commit = 2  # 平衡性能与安全

17. 使用高效Web服务器配置

  • Nginx示例nginx worker_processes auto; worker_connections 4096; keepalive_timeout 30; gzip on;

18. 禁用IPv6(如不需要)

# /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1

19. 启用BBR拥塞控制

# 加载模块
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

20. 定期维护

# 清理旧内核/缓存
sudo apt autoremove -y  # Debian/Ubuntu
sudo yum autoremove     # RHEL/CentOS

注意事项

  1. 修改前备份配置文件
  2. 生产环境建议先在测试服务器验证
  3. 不同工作负载(数据库/Web/计算)需针对性优化
  4. 监控调整前后的性能差异(使用sarvmstat等工具)

通过组合这些技巧,可显著提升服务器的吞吐量、响应速度和稳定性。