开发者
资源
CentOS内存页pagesize从64K切换到4K指导
CentOS内存页pagesize从64K切换到4K指导
新人帖
发表于2023/05/13
1.5k2

1. 查看当前内存页大小

getconf PAGESIZE

cke_162121.png

2. 下载内核源码(如果环境上已经有内核源码可以跳过步骤2和步骤3)

wget https://git.centos.org/sources/kernel/c8/a857effa0971fa1b6790bf8df25f69dda20acdd3

3. 解压文件获得内核源码linux-4.18.0-193.28.1.el8_2,将源码目录移动到/usr/src目录下

tar -xf a857effa0971fa1b6790bf8df25f69dda20acdd3

mv linux-4.18.0-193.28.1.el8_2 /usr/src​

cke_1741.png

4. 安装内核编译依赖的软件包

yum install -y vim rpm-build net-tools bc xmlto asciidoc openssl-devel hmaccalc python-devel newt-devel perl elfutils-devel zlib-devel binutils-devel audit-libs-devel java-devel numactl-devel pciutils-devel ncurses-devel perl-ExtUtils-Embed git

5. 进入内核源码目录,复制当前系统的内核编译文件,保证内核其他配置项和当前系统保持一致

cd /usr/src/linux-4.18.0-193.28.1.el8_2

cp /boot/config-`uname -r` ./.config

6. 打开配置文件的4K页配置项,关闭64K配置项

vim .config

CONFIG_ARM64_4K_PAGES=y

# CONFIG_ARM64_64K_PAGES=y

2.png

7. 修改内核版本

注意:需要保证修改的内核版本大于当前系统的内核版本

vim Makefile

3.png

 8. 编译内核二进制包,在编译时会加载修改后的config配置文件,会提醒用户确认部分修改配置项,Page Size务必选择为4KB,后面的选项建议根据业务实际需求调整,该步骤会花费较长时间

make binrpm-pkg -j`nproc`

4.png

5.png

6.png

7.png

在/root/rpmbuild/RPMS/aarch64/目录下会生成对应的内核二进制包

8.png

9.png

9. 安装内核二进制包

rpm -ivh /root/rpmbuild/RPMS/aarch64/kernel-4.18.0_3-7.aarch64.rpm

10.png

10. 查看内核安装成功

rpm -qa | grep kernel

11.png

​​​

11. 重启系统,进入编译安装的内核

reboot

12.png

12. 检查内核版本号

uname -a

13.png

13. 查看当前的内存页,命令回显结果4096表示已成功切换为4K页

getconf PAGESIZE

14.png

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞