---
title: 调整内核Page Size为64KB
description: "调整openEuler操作系统内核的Page Size为64KB。内核的Page Size越大，TLB（Translation Lookaside Buffer）中每行管理的内存越多，TLB的命中率就越高，从而可以减少内存访问次数，提高性能。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/Redis/kunpengredishdp_05_0026.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/Redis/kunpengredishdp_05_0026.html
indexId: ef5488306d8b761e807948d9bc78d45e56df3692a4b0ee5b12ef76260923982c72
---
# 调整内核Page Size为64KB

#### 目的

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

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


#### 方法

1. 安装openEuler操作系统自带的内核源码包。

```
yum install -y kernel-source ncurses-devel
```


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

  a. 进入内核源码目录，并配置内核选项。

```
cd /usr/src/linux-5.10.0***
make openeuler_defconfig
make menuconfig
```


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

  b. 在“menuconfig”界面中，导航到“General setup”。
  c. 选择“Local version”>“append to kernel release”，并输入合适的后缀，例如“-64k”，以标识本次配置的内核版本。选择“ok”确认后，按“enter”。
  d. 双击“Esc”回到上一级目录。
  e. 进入“Kernel Features”>“Page size”，选择“64KB”。
  f. 双击“Esc”回到上一级目录，并在询问时双击“Esc”保存更改并退出“menuconfig”界面。
3. 编译内核并生成RPM包。

```
make binrpm-pkg -j$(nproc)
```


4. 安装Page Size为64KB的新内核。
针对ARM架构，RPM包通常会被构建在“/root/rpmbuild/RPMS/aarch64/”的目录下。

  a. 切换到RPM所在的目录。

```
cd /root/rpmbuild/RPMS/aarch64/
```


  b. 安装新内核。

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


安装完成后，会自动更新GRUB配置，并将新内核添加到引导菜单中。
5. 重启操作系统，并选择新内核。

  a. 重启操作系统。

```
reboot
```


  b. 在操作系统重新启动的过程中，登录iBMC并进入远程控制台，选择新内核。
  c. 查看当前Page Size的大小。

```
getconf PAGESIZE
```


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

6. 重新编译Redis。
  由于Redis引用了jemalloc，所以在修改操作系统内核后，需要重新编译Redis以确保Redis能够正常工作。
