Bobcares

Configure HugePages on Amazon EC2 – How to do it

by | Aug 15, 2021

Wondering how to configure HugePages on Amazon EC2? We can help you.

HugePages are memory pages that are larger in size than the default 4 KB page size.

Here, at Bobcares, we assist our customers with several AWS queries as part of our AWS Support Services.

Today, let us see how our Support techs assist with this query.

 

How to configure HugePages on Amazon EC2?

Basically, enabling HugePages in your Linux instance’s kernel in a large application or database environment helps reduce the stress on the TLB.

Less stress on the TLB increases your server and application or database performance because TLB stores fewer pages that are larger in size.

Please keep below points in mind before enabling HugePages:

  • By default, starting your system doesn’t release HugePages.

To enable release after system startup, modify the number of pages available or modify the HugePages pool size.

  • If the appropriate space for allocation isn’t available in memory during system startup, then HugePages allocation fails.

The value of hugepagesize * number of HugePages must always be less than the total memory of the instance.

To determine the amount memory that must be available verify the total memory of the instance by running the free -m command.

  • Enabling Hugepages in the instance’s kernel requires that the application or database on the instance supports HugePages.

Verify with your vendor or your system administrator that your application or database supports HugePages.

Today, let us go through the steps followed by our Support Techs for configuration:

1.To verify that your kernel doesn’t currently have HugePages enabled, run the cat command:

# sudo cat /proc/sys/vm/nr_hugepages

In the preceding example, the nr_hugepages parameter value is 0, indicating that HugePages isn’t enabled.

2.To enable HugePages, run the following command to set the kernel parameter value to 2048:

# sudo sysctl -w vm.nr_hugepages=2048
vm.nr_hugepages = 2048

3.To verify that the system allocates HugePages after reboot, add the following entry to /etc/sysctl.conf:

# sudo echo "vm.nr_hugepages=2048" >> /etc/sysctl.conf

4.Then, run the cat command to verify the change:

# sudo cat /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
vm.zone_reclaim_mode=1
vm.nr_hugepages=2048

5.Next, reboot your instance.

6.After rebooting, run the cat command again to verify the HugePages value and configuration:

# sudo cat /proc/sys/vm/nr_hugepages
2048

7.Check the available HugePages in /proc/meminfo:

# sudo grep Huge /proc/meminfo
HugePages_Total: 2048
HugePages_Free: 2048
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB

HugePages is now enabled on your server.

8.Finally, configure HugePages on additional applications as needed.

 

How to to disable HugePages?

1.Change the nr_hugepages back to 0.

2.Remove the entry in sysctl.conf.

3.Finally, reboot the server to take effect.

[Need help with the process? We’d be happy to assist]

 

Conclusion

In short, we saw how our Support Techs configure HugePages on Amazon EC2.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = "owonCMyG5nEQ0aD71QM";

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.