Linux系统性能调优技巧

Linux 系统的性能调优涉及多个方面,包括 CPU、内存、存储、网络等资源的优化。以下是一些常见的 Linux 系统性能调优技巧:

1. CPU 调优

1.1. 使用 CPU 亲和力 (CPU Affinity)

通过设置 CPU 亲和力,可以将进程绑定到特定的 CPU 核心,从而减少上下文切换和 CPU 缓存失效。

  • 查看进程的 CPU 亲和力:

    taskset -cp <PID>
    
  • 设置进程的 CPU 亲和力:

    taskset -cp <CPU编号> <PID>
    
1.2. 调整 CPU 频率调节器

根据需要调整 CPU 的工作频率策略来提高性能或节省电源。常用的 CPU 频率调节器包括 performancepowersave

  • 查看当前 CPU 频率调节器:

    cpupower frequency-info
    
  • 设置为性能优先模式:

    cpupower frequency-set -g performance
    

2. 内存调优

2.1. 优化 Swappiness

Swappiness 是控制内存交换 (swap) 使用的参数。默认情况下,Linux 会在内存使用到一定程度时开始使用交换空间。通过调整 swappiness 值,可以控制交换的频率。

  • 查看当前 swappiness 值:

    cat /proc/sys/vm/swappiness
    
  • 临时修改 swappiness 值:

    sysctl vm.swappiness=10
    
  • 永久修改 swappiness:
    编辑 /etc/sysctl.conf,添加或修改以下内容:

    vm.swappiness = 10
    
2.2. 清理缓存

在某些情况下,手动清理缓存可以释放内存。

  • 清理页面缓存:

    sync; echo 1 > /proc/sys/vm/drop_caches
    
  • 清理目录和 inode 缓存:

    sync; echo 2 > /proc/sys/vm/drop_caches
    
  • 清理所有缓存:

    sync; echo 3 > /proc/sys/vm/drop_caches
    

3. I/O 调优

3.1. 调整 I/O 调度器

Linux 提供了多种 I/O 调度器,如 noopdeadlinecfq,根据你的系统负载选择合适的调度器可以提高性能。

  • 查看当前 I/O 调度器:

    cat /sys/block/<设备名>/queue/scheduler
    
  • 设置 I/O 调度器:

    echo deadline > /sys/block/<设备名>/queue/scheduler
    
  • 常见调度器:

    • noop:适合 SSD 等低延迟设备。
    • deadline:适合需要低延迟的环境。
    • cfq:适合一般桌面系统,提供公平的 I/O 分配。
3.2. 提升文件系统性能

使用 noatime 挂载选项可以减少文件系统的写操作。

  • 编辑 /etc/fstab,在挂载选项中添加 noatime
    /dev/sda1 / ext4 defaults,noatime 0 1
    

4. 网络调优

4.1. 调整 TCP 参数

通过调整 /etc/sysctl.conf 中的 TCP 相关参数,可以优化网络性能。

  • 增加 TCP 缓冲区大小:

    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 87380 16777216
    net.ipv4.tcp_wmem = 4096 65536 16777216
    
  • 启用 TCP 快速重传:

    net.ipv4.tcp_low_latency = 1
    
4.2. 调整连接跟踪表大小

如果系统需要处理大量并发连接,可以增加连接跟踪表的大小:

  • 临时调整:

    sysctl -w net.netfilter.nf_conntrack_max=65536
    
  • 永久调整:
    编辑 /etc/sysctl.conf,添加以下内容:

    net.netfilter.nf_conntrack_max=65536
    

5. 进程和服务调优

5.1. 优化系统服务

通过禁用不必要的服务可以减少资源占用,从而提高性能。

  • 查看开机启动的服务:

    systemctl list-unit-files --type=service
    
  • 禁用不必要的服务:

    sudo systemctl disable <service_name>
    
5.2. 调整进程优先级 (Nice 值)

通过调整进程的 nice 值,可以提高或降低特定进程的优先级。

  • 查看当前进程的优先级:

    ps -o pid,ni,comm -p <PID>
    
  • 提高进程的优先级(降低 nice 值):

    renice -n -10 -p <PID>
    

6. 内核调优

6.1. 使用 HugePages

HugePages 是一种内存管理技术,适用于需要高效处理大块内存的应用程序(如数据库)。

  • 查看当前 HugePages 设置:

    grep Huge /proc/meminfo
    
  • 设置 HugePages 的数量:

    echo 128 > /proc/sys/vm/nr_hugepages
    
6.2. 调整文件描述符限制

增加文件描述符的数量可以提高处理并发连接的能力。

  • 查看当前文件描述符限制:

    ulimit -n
    
  • 临时调整:

    ulimit -n 65536
    
  • 永久调整:
    编辑 /etc/security/limits.conf,添加以下内容:

    * soft nofile 65536
    * hard nofile 65536
    

总结

这些技巧帮助提升 Linux 系统的整体性能,具体调优措施需要根据你的应用场景(如服务器类型、运行负载)进行选择和调整。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

御风行云天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值