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

将操作系统内核的pagesize调整为64KB的缺点是可能会存在兼容性问题,个别软件在pagesize为64KB下还需要进行适配。因此,在采用这种性能调优方法之前,务必进行全面的测试验证,以确保系统的稳定性和软件的兼容性。
方法
- 安装openEuler操作系统自带的内核源码包。
yum install -y kernel-source
- 配置内核的pagesize为64KB。
- 进入内核源码目录,并配置内核选项。
cd /usr/src/linux-5.10.0*** make openeuler_defconfig make menuconfig
实际操作中请将linux-5.10.0***替换为实际的内核版本号。
- 在“menuconfig”界面中,导航到“General setup”。
- 选择“Local version” > “append to kernel release”,并输入合适的后缀,例如“-64k”,以标识本次配置的内核版本。选择“ok”确认后,按“enter”。
- 双击“Esc”回到上一级目录。
- 进入“Kernel Features” > “Page size”,选择“64KB”。
- 双击“Esc”回到上一级目录,并在询问时双击“Esc”保存更改并退出“menuconfig”界面。
- 进入内核源码目录,并配置内核选项。
- 编译内核并生成RPM包。
make binrpm-pkg -j$(nproc)
- 安装pagesize为64KB的新内核。针对Arm架构,RPM包通常会被构建在“/root/rpmbuild/RPMS/aarch64/”的目录下。
rpm -ivh kernel*** --force
安装完成后,会自动更新GRUB配置,并将新内核添加到引导菜单中。
- 重启操作系统,并选择新内核。
- 重新编译Redis。
由于Redis引用了jemalloc,所以在修改操作系统内核后,需要重新编译Redis以确保Redis能够正常工作。
父主题: 操作系统调优