HugePages là gì? Có cần thiết không? Cách tắt HugePages trên Linux để giải phóng RAM

Views: 12 15/05/2026 12:14
HugePages là gì? Có cần thiết không? Cách tắt HugePages trên Linux để giải phóng RAM

HugePages là cơ chế quản lý bộ nhớ trong Linux giúp hệ điều hành dùng các "trang nhớ lớn" thay vì page mặc định 4KB.

Thông thường Linux dùng:

  • 4KB/page → page bình thường

  • 2MB hoặc 1GB/page → HugePages

Mục đích của HugePages:

  • Giảm tải CPU khi quản lý RAM

  • Tăng hiệu năng cho database lớn

  • Tối ưu các hệ thống cần truy cập RAM cực nhanh

HugePages thường được dùng cho:

  • MySQL/MariaDB lớn

  • Oracle Database

  • Redis

  • VMware/KVM

  • High-performance computing

  • Java enterprise apps

HugePages có cần thiết không?

Có cần nếu:

  • Server chạy database lớn

  • VPS có RAM nhiều

  • Hệ thống cần tối ưu hiệu năng cao

  • Có ứng dụng yêu cầu HugePages

Ví dụ:

  • Oracle DB

  • PostgreSQL tuning lớn

  • Redis cache lớn

  • VM virtualization

Không cần nếu:

  • VPS web bình thường

  • Chạy website PHP

  • Chạy WordPress

  • Chạy Apache/Nginx/OpenLiteSpeed

  • VPS RAM ít

  • Không dùng database lớn

Trong nhiều VPS thông thường, HugePages có thể:

  • Reserve RAM vô ích

  • Làm RAM "bị ăn"

  • Khiến free memory thấp

Ví dụ:

HugePages_Total: 1172
Hugepagesize:    2048 kB

RAM bị reserve:

1172 × 2MB ≈ 2.3GB RAM

Dù không có ứng dụng nào dùng.

Cách kiểm tra HugePages

Kiểm tra trạng thái

cat /proc/meminfo | grep Huge

Ví dụ:

HugePages_Total:    1172
HugePages_Free:     1172
Hugepagesize:       2048 kB

Nếu:

  • Total lớn

  • Free cũng lớn

→ nghĩa là RAM đang bị reserve nhưng chưa dùng.

Transparent HugePages là gì?

Ngoài HugePages truyền thống còn có:

  • Transparent HugePages (THP)

Linux sẽ tự động dùng HugePages mà không cần app yêu cầu.

THP đôi khi gây:

  • Lag

  • Tăng RAM usage

  • Database performance không ổn định

Nhiều hệ thống production thường tắt THP.

Cách tắt HugePages trên Linux

Tắt tạm thời

Disable HugePages runtime

echo 0 > /proc/sys/vm/nr_hugepages

Kiểm tra lại:

cat /proc/meminfo | grep Huge

Nếu thấy:

HugePages_Total: 0

→ đã tắt thành công.

Tắt vĩnh viễn HugePages

Mở:

nano /etc/sysctl.conf

Thêm:

vm.nr_hugepages = 0

Apply:

sysctl -p

 Tắt Transparent HugePages (THP)

Kiểm tra THP

cat /sys/kernel/mm/transparent_hugepage/enabled

Nếu thấy:

[always] madvise never

→ THP đang bật.

Tắt tạm thời THP

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

 

Tắt vĩnh viễn THP

Mở GRUB:

CentOS/AlmaLinux/Rocky

nano /etc/default/grub

Tìm:

GRUB_CMDLINE_LINUX=

Thêm:

transparent_hugepage=never

Ví dụ:

GRUB_CMDLINE_LINUX="transparent_hugepage=never"

Sau đó rebuild GRUB:

BIOS

grub2-mkconfig -o /boot/grub2/grub.cfg

UEFI

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

Reboot:

reboot

 

Sau khi tắt HugePages có lợi gì?

Có thể giúp:

  • Giải phóng RAM

  • Giảm RAM reserve vô ích

  • VPS nhẹ hơn

  • Web server ổn định hơn

  • Tránh cache RAM bất thường

Đặc biệt với VPS RAM thấp:

  • 2GB

  • 4GB

  • 8GB

thì HugePages dư thừa có thể khá lãng phí.

Khi nào KHÔNG nên tắt HugePages?

Không nên tắt nếu server đang chạy:

  • Oracle Database

  • PostgreSQL tuning lớn

  • Redis cache lớn

  • Elasticsearch

  • Java enterprise app

  • Virtualization server

Vì có thể làm giảm hiệu năng.

HugePages là tính năng tối ưu bộ nhớ giúp tăng hiệu năng cho các ứng dụng lớn. Tuy nhiên với VPS web thông thường, HugePages đôi khi chỉ reserve RAM mà không mang lại lợi ích thực tế.

Nếu server không chạy database lớn hoặc ứng dụng enterprise, bạn có thể tắt HugePages và Transparent HugePages để giải phóng RAM và tối ưu tài nguyên hệ thống.

Chúc các bạn thành công

HugePages là gì tắt HugePages Linux disable HugePages CentOS HugePages Ubuntu HugePages chiếm RAM giải phóng RAM Linux HugePages_Total Transparent HugePages kiểm tra HugePages tối ưu RAM VPS