鲲鹏社区首页
中文
注册
MySQL调优-调整内核Page Size

MySQL调优-调整内核Page Size

原生开发

发表于 2025/07/17

0

作者 | 郑渊悦

目的

调整openEuler操作系统内核的Page Size为64KB。内核的Page Size越大,TLB(Translation Lookaside Buffer)中每行管理的内存越多,TLB的命中率就越高,从而可以减少内存访问次数,提高性能。

将操作系统内核的Page Size调整为64KB的缺点是可能会存在兼容性问题,个别软件在Page Size为64KB下还需要进行适配。因此,在采用这种性能调优方法之前,务必进行全面的测试验证,以确保系统的稳定性和软件的兼容性。

方法

  1. 安装openEuler操作系统自带的内核源码包以及相关依赖。

    yum install -y kernel-source elfutils elfutils-devel dwarves rsync

  2. 配置内核的Page Size为64KB。

    1. 进入内核源码目录,并配置内核选项。

      cd /usr/src/linux-5.10.0***

      make openeuler_defconfig

      make menuconfig

      实际操作中请将linux-5.10.0***替换为实际的内核版本号。

    2. 在“menuconfig”界面中,导航到“General setup”。

    3. 选择“Local version” > “append to kernel release”,并输入合适的后缀,例如“-64k”,以标识本次配置的内核版本。选择“ok”确认后,按“enter”。

    4. 双击“Esc”回到上一级目录。

    5. 进入“Kernel Features” > “Page size”,选择“64KB”。

    6. 双击“Esc”回到上一级目录,并在询问时双击“Esc”保存更改并退出“menuconfig”界面。

  3. 编译内核并生成RPM包。

    make binrpm-pkg -j$(nproc)

  4. 安装Page Size为64KB的新内核。

    针对ARM架构,RPM包通常会被构建在“/root/rpmbuild/RPMS/aarch64/”的目录下。

    cd /root/rpmbuild/RPMS/aarch64/

    rpm -ivh kernel*** --nodeps --force

  5. 重启操作系统,并选择新内核。

    1. 重启操作系统。

      reboot

    2. 在操作系统重新启动的过程中,登录iBMC并进入远程控制台,选择新内核。

    3. 查看当前Page Size的大小。

      getconf PAGESIZE

      回显信息为“65536”,表示为64KB。