Hostxpeed
Login Get Started →
Server Management

How to Enable HugePages

5 min read
24 views
Jun 12, 2026

Prerequisites

Before enabling HugePages, make sure you have:

  • SSH access to your VPS
  • Root or sudo privileges
  • At least 4GB RAM (recommended)

💡 HugePages reduces memory overhead for large memory allocations, improving performance for databases like MySQL, PostgreSQL, and MongoDB.

Step 1: Check Current HugePages Status

Connect to your VPS:

ssh hxroot@YOUR_SERVER_IP -p 22
grep HugePages /proc/meminfo
cat /proc/sys/vm/nr_hugepages

If HugePages_Total = 0, HugePages are disabled.

Step 2: Calculate Number of HugePages

Default HugePage size is 2MB on most systems.

Example: To allocate 2GB for HugePages:

2GB / 2MB = 1024 pages

Calculate script:

echo "2GB of HugePages requires $((2 * 1024 / 2)) pages"

Step 3: Set Number of HugePages Temporarily

sudo sysctl vm.nr_hugepages=1024

Verify:

grep HugePages /proc/meminfo

Step 4: Make Permanent

sudo nano /etc/sysctl.conf

Add:

vm.nr_hugepages=1024
vm.hugetlb_shm_group=27

Apply:

sudo sysctl -p

Step 5: Set Memory Lock Limit for Database User

Edit limits.conf:

sudo nano /etc/security/limits.conf

Add for mysql user:

mysql soft memlock unlimited
mysql hard memlock unlimited

Or for all users:

* soft memlock unlimited
* hard memlock unlimited

Step 6: Configure MySQL to Use HugePages

Add to /etc/mysql/my.cnf:

[mysqld]
large-pages

Restart MySQL:

sudo systemctl restart mysql

Check MySQL error log for "large pages" message.

Step 7: Configure PostgreSQL for HugePages

PostgreSQL automatically uses HugePages if available.

Verify:

sudo grep huge /var/log/postgresql/postgresql-*.log

Monitor HugePages Usage

watch -n 1 "grep HugePages /proc/meminfo"

Disable HugePages

sudo sysctl vm.nr_hugepages=0

Remove lines from /etc/sysctl.conf.

Check HugePage Size

grep Hugepagesize /proc/meminfo

✅ HugePages enabled. Memory-intensive applications will see improved performance.

Was this article helpful?