Explore performance gains by increasing the Linux kernel page size on Arm
Introduction
Overview
Change page size on Ubuntu
Change page size on Debian
Change page size on CentOS
Next Steps
Explore performance gains by increasing the Linux kernel page size on Arm
To install a 64 K page size kernel on Ubuntu 22.04 LTS or later , follow the steps below.
Verify the current page size
Verify you’re using a 4KB base-page-size kernel by entering the following commands:
getconf PAGESIZE
uname -r
The output should be similar to below. The kernel flavor (the string after the version number) may vary, but the first line should always be 4096.
4096
6.1.0-34-cloud-arm64
The 4096 indicates the current page size is 4 KB. If you see a value that is different, you are already using a page size other than 4096 (4K). On Arm systems, the valid options are 4K, 16K, and 64K.
Install the required dependencies and the 64K kernel
Run the commands to install the required software:
sudo apt-get -y update
sudo apt-get -y install git build-essential autoconf automake libtool gdb wget linux-generic-64k
Next, run the following command to configure GRUB to load the 64K kernel by default:
echo "GRUB_FLAVOUR_ORDER=generic-64k" | sudo tee /etc/default/grub.d/local-order.cfg
Update GRUB and reboot
Commit your changes to GRUB and reboot by entering the following:
sudo update-grub
sudo reboot
Upon reboot, check the kernel page size and name to confirm the changes:
getconf PAGESIZE
uname -r
The output shows the 64K kernel is running:
65536
6.8.0-59-generic-64k
This indicates that the current page size is 64K and that you are running the new 64K kernel.
Revert to the 4K kernel
To revert to the original 4K kernel, run the following commands:
echo "GRUB_FLAVOUR_ORDER=generic" | sudo tee /etc/default/grub.d/local-order.cfg
sudo update-grub
sudo reboot
Upon reboot, verify you’re on a 4KB pagesize kernel by entering the following commands:
getconf PAGESIZE
uname -r
The output shows the 4K kernel is running:
4096
6.1.0-34-cloud-arm64
The 4096 indicates the current page size has been reverted to 4KB.