鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

操作系统调优

通过对物理机和虚拟机操作系统的调优,可以有效提升服务器性能。

物理机

通过修改GRUB参数进行物理机操作系统调优。

  1. 打开“/etc/grub2-efi.cfg”文件。
    vi /etc/grub2-efi.cfg
  2. “i”进入编辑模式,在内核参数后增加以下IOMMU相关配置。
    iommu.passthrough=1 pci=realloc kvm-arm.vgic_v4_enable=1 audit=0

    kvm-arm.vgic_v4_enable=1只针对鲲鹏920新型号处理器。

  3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  4. 重启物理机的操作系统,使配置生效。

虚拟机

在虚拟机操作系统上的调优,包括配置文件描述符限制、关闭Audit并配置大页以及网卡中断绑核优化。

  1. 配置扩展文件描述符。
    1. 打开“/etc/security/limits.conf”文件。
      vi /etc/security/limits.conf
    2. “i”进入编辑模式,在文件中添加以下两行,建议将每个用户的软限制和硬限制文件描述符数量设置为102400,以避免在测试过程中可能出现软件最大打开文件数被限制在1024的情况,影响服务器性能。
      *   soft     nofile      102400
      *   hard     nofile      102400
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 重启虚拟机的操作系统,使配置生效。
  2. 关闭Audit并配置大页。
    1. 打开“/etc/grub2-efi.cfg”文件。
      vi /etc/grub2-efi.cfg
    2. “i”进入编辑模式,在内核参数后增加如下大页配置。
      audit=0
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 重启虚拟机的操作系统,使配置生效。
  3. 网卡中断绑核优化。
    1. 创建一个名为irq.sh的Bash脚本文件,在脚本文件中写入以下内容,用于将网卡中断绑定到指定的CPU核上。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      #!/bin/bash
      
      iface=$1
      start_core=$2
      end_core=$3
      
      irq_list=(`cat /proc/interrupts |grep ${iface} | awk -F: '{print $1}'`)
      
      ncpu=$start_core
      
      for irq in ${irq_list[@]}
      do
              echo ${ncpu} > /proc/irq/${irq}/smp_affinity_list
              echo `cat /proc/irq/${irq}/smp_affinity_list`
              (( ncpu+=1 ))
              if (( ${ncpu} > $end_core )); then
                      ncpu=$start_core
              fi
      done
      

      中断绑核传入参数说明:

      • iface:网卡中断名称,示例为virtio*-inputvirtio*-output,其中*表示实际的网口队列名称序号,需根据实际环境修改。

        网口队列名称序号可以通过如下命令查看:

        cat /proc/interrupts
      • start_core:中断绑定的开始CPU核编号,例如“0”,请根据实际需求修改。
      • end_core:中断绑定的结束CPU核编号,例如“1”(当只有一个核心时),请根据实际环境修改。
    2. 停止并禁用irqbalance服务。
      systemctl stop irqbalance
      systemctl disable irqbalance
    3. 执行脚本。
      对于4U虚拟机,建议中断绑核方式为:将virtio*-input.*中断分别绑定到2个核上(例如01),将virtio*-output.*中断按顺序绑定到虚拟机的每一个核上(例如03)。
      bash irq.sh virtio*-input 0 1
      bash irq.sh virtio*-output 0 3