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
Ví dụ:
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:
Nếu thấy:
→ đã tắt thành công.
Tắt vĩnh viễn HugePages
Mở:
Thêm:
Apply:
Tắt Transparent HugePages (THP)
Kiểm tra THP
Nếu thấy:
→ THP đang bật.
Tắt tạm thời THP
echo never > /sys/kernel/mm/transparent_hugepage/defrag
Tắt vĩnh viễn THP
Mở GRUB:
CentOS/AlmaLinux/Rocky
Tìm:
Thêm:
Ví dụ:
Sau đó rebuild GRUB:
BIOS
UEFI
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