feat(memory/IO) This update optimizes memory throughput and I/O performance across all ROCKNIX AArch64 targets by enabling File-System-backed Transparent Huge Pages (THP) and implementing a tiered hardware-aware tuning strategy.

With MGLRU and zRAM providing a safety net, enabling Large Page (2MB) support reduces TLB misses, allowing the CPU to prioritize emulation logic over memory address translation.

Key Features Enabled
File-System THP (CONFIG_READ_ONLY_THP_FOR_FS): Collapses read-only file mappings (game binaries/data) into huge pages to accelerate asset loading.

Contiguous Page Table Entries (CONFIG_ARM64_CONTPTE): Allows the MMU to treat groups of pages as a single entry, increasing TLB efficiency on high-performance targets.

Memory Compaction & Migration: Re-enabled infrastructure to shuffle physical RAM into contiguous blocks required for huge pages.

Architecture-Specific Write Support (CONFIG_ARCH_WANT_PMD_MKWRITE): Ensures efficient huge page handling during high-performance memory writes.

Tiered Userspace Management
The rocknix-memory-manager applies specific logic at boot based on the SoC and RAM capacity:

Flagship Mode (RK3588, SM8x, RK3399):

Sets defrag to defer+madvise for proactive huge page creation.

Sets vm.compaction_proactiveness to 40 to maintain a pool of contiguous blocks.

Budget Mode (H700, RK3326):

Sets defrag to defer only to prevent CPU "stalls" during gameplay.

Sets vm.compaction_proactiveness to 10 to prioritize raw CPU availability.

Texture Performance: Globally enables shmem_enabled=advise to benefit Vulkan and Wayland texture handling.

Swappiness: Sets vm.swappiness to 100 when ZRAM is active to keep physical RAM unfragmented for huge page allocations.

Safety Rationale
MGLRU: Prevents "reclaim storms" during huge page allocation on 1GB devices.

zRAM: Absorbs memory pressure via high-speed compressed swap.

Read-Only Focus: FS-Backed THP targets low-risk mappings while providing high-impact gains for asset streaming.
This commit is contained in:
Joel Wirāmu Pauling
2026-02-04 21:29:12 +13:00
parent 281de1be24
commit a29ef69496
11 changed files with 106 additions and 41 deletions

View File

@@ -11,8 +11,8 @@ CONFIG_AS_VERSION=24400
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24400
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=109300
CONFIG_RUSTC_LLVM_VERSION=210108
CONFIG_RUSTC_VERSION=109200
CONFIG_RUSTC_LLVM_VERSION=210103
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
@@ -1020,7 +1020,7 @@ CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_READ_ONLY_THP_FOR_FS=y
# CONFIG_NO_PAGE_MAPCOUNT is not set
CONFIG_PAGE_MAPCOUNT=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y

View File

@@ -11,8 +11,8 @@ CONFIG_AS_VERSION=24400
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24400
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=109300
CONFIG_RUSTC_LLVM_VERSION=210108
CONFIG_RUSTC_VERSION=109200
CONFIG_RUSTC_LLVM_VERSION=210103
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
@@ -962,7 +962,7 @@ CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_READ_ONLY_THP_FOR_FS=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y
CONFIG_ARCH_SUPPORTS_HUGE_PFNMAP=y
CONFIG_ARCH_SUPPORTS_PMD_PFNMAP=y

View File

@@ -11,8 +11,8 @@ CONFIG_AS_VERSION=24400
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24400
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=109300
CONFIG_RUSTC_LLVM_VERSION=210108
CONFIG_RUSTC_VERSION=109200
CONFIG_RUSTC_LLVM_VERSION=210103
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
@@ -546,6 +546,7 @@ CONFIG_ARM64_SME=y
CONFIG_RELOCATABLE=y
# CONFIG_RANDOMIZE_BASE is not set
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
CONFIG_ARM64_CONTPTE=y
# end of Kernel Features
#
@@ -722,6 +723,7 @@ CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_ARCH_WANTS_EXECMEM_LATE=y
@@ -959,9 +961,11 @@ CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTE_PTLOCKS=y
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_SPLIT_PMD_PTLOCKS=y
# CONFIG_COMPACTION is not set
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
# CONFIG_PAGE_REPORTING is not set
CONFIG_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PCP_BATCH_SCALE_MAX=5
CONFIG_PHYS_ADDR_T_64BIT=y
@@ -970,8 +974,19 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
CONFIG_ARCH_WANTS_THP_SWAP=y
# CONFIG_TRANSPARENT_HUGEPAGE is not set
# CONFIG_PERSISTENT_HUGE_ZERO_FOLIO is not set
CONFIG_MM_ID=y
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
CONFIG_READ_ONLY_THP_FOR_FS=y
# CONFIG_NO_PAGE_MAPCOUNT is not set
CONFIG_PAGE_MAPCOUNT=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y
CONFIG_ARCH_SUPPORTS_HUGE_PFNMAP=y
CONFIG_ARCH_SUPPORTS_PMD_PFNMAP=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUGFS is not set
# CONFIG_CMA_SYSFS is not set

View File

@@ -11,8 +11,8 @@ CONFIG_AS_VERSION=24400
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24400
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=109300
CONFIG_RUSTC_LLVM_VERSION=210108
CONFIG_RUSTC_VERSION=109200
CONFIG_RUSTC_LLVM_VERSION=210103
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
@@ -555,6 +555,7 @@ CONFIG_RANDOMIZE_BASE=y
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
CONFIG_STACKPROTECTOR_PER_TASK=y
CONFIG_ARM64_CONTPTE=y
# end of Kernel Features
#
@@ -726,6 +727,7 @@ CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_ARCH_WANTS_EXECMEM_LATE=y
@@ -935,9 +937,11 @@ CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTE_PTLOCKS=y
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_SPLIT_PMD_PTLOCKS=y
# CONFIG_COMPACTION is not set
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
# CONFIG_PAGE_REPORTING is not set
CONFIG_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_PCP_BATCH_SCALE_MAX=5
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_KSM=y
@@ -945,8 +949,19 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
CONFIG_ARCH_WANTS_THP_SWAP=y
# CONFIG_TRANSPARENT_HUGEPAGE is not set
# CONFIG_PERSISTENT_HUGE_ZERO_FOLIO is not set
CONFIG_MM_ID=y
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
CONFIG_READ_ONLY_THP_FOR_FS=y
# CONFIG_NO_PAGE_MAPCOUNT is not set
CONFIG_PAGE_MAPCOUNT=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y
CONFIG_ARCH_SUPPORTS_HUGE_PFNMAP=y
CONFIG_ARCH_SUPPORTS_PMD_PFNMAP=y
# CONFIG_CMA is not set
CONFIG_PAGE_BLOCK_MAX_ORDER=10
CONFIG_GENERIC_EARLY_IOREMAP=y

View File

@@ -902,10 +902,12 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
# CONFIG_COMPACTION is not set
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
# CONFIG_PAGE_REPORTING is not set
CONFIG_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
@@ -914,7 +916,11 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
CONFIG_ARCH_WANTS_THP_SWAP=y
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
CONFIG_THP_SWAP=y
CONFIG_READ_ONLY_THP_FOR_FS=y
CONFIG_CMA=y
# CONFIG_CMA_INACTIVE is not set
# CONFIG_CMA_DEBUG is not set

View File

@@ -11,8 +11,8 @@ CONFIG_AS_VERSION=24400
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24400
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=109300
CONFIG_RUSTC_LLVM_VERSION=210108
CONFIG_RUSTC_VERSION=109200
CONFIG_RUSTC_LLVM_VERSION=210103
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
@@ -964,7 +964,7 @@ CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_READ_ONLY_THP_FOR_FS=y
# CONFIG_NO_PAGE_MAPCOUNT is not set
CONFIG_PAGE_MAPCOUNT=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y

View File

@@ -929,7 +929,7 @@ CONFIG_ZONE_DMA32=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
# CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_TEST is not set
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_READ_ONLY_THP_FOR_FS=y
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_SECRETMEM=y
# CONFIG_ANON_VMA_NAME is not set

View File

@@ -11,8 +11,9 @@ CONFIG_AS_VERSION=24400
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24400
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=109300
CONFIG_RUSTC_LLVM_VERSION=210108
CONFIG_RUSTC_VERSION=108800
CONFIG_RUST_IS_AVAILABLE=y
CONFIG_RUSTC_LLVM_VERSION=190107
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
@@ -25,8 +26,6 @@ CONFIG_RUSTC_HAS_SLICE_AS_FLATTENED=y
CONFIG_RUSTC_HAS_COERCE_POINTEE=y
CONFIG_RUSTC_HAS_SPAN_FILE=y
CONFIG_RUSTC_HAS_UNNECESSARY_TRANSMUTES=y
CONFIG_RUSTC_HAS_FILE_WITH_NUL=y
CONFIG_RUSTC_HAS_FILE_AS_C_STR=y
CONFIG_PAHOLE_VERSION=0
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
@@ -286,6 +285,7 @@ CONFIG_PERF_EVENTS=y
CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
# CONFIG_RUST is not set
#
# Kexec and crash features
@@ -1073,7 +1073,7 @@ CONFIG_TRANSPARENT_HUGEPAGE_TMPFS_HUGE_NEVER=y
# CONFIG_TRANSPARENT_HUGEPAGE_TMPFS_HUGE_WITHIN_SIZE is not set
# CONFIG_TRANSPARENT_HUGEPAGE_TMPFS_HUGE_ADVISE is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_READ_ONLY_THP_FOR_FS=y
# CONFIG_NO_PAGE_MAPCOUNT is not set
CONFIG_PAGE_MAPCOUNT=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y

View File

@@ -11,8 +11,8 @@ CONFIG_AS_VERSION=24400
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24400
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=109300
CONFIG_RUSTC_LLVM_VERSION=210108
CONFIG_RUSTC_VERSION=109200
CONFIG_RUSTC_LLVM_VERSION=210103
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
@@ -1077,7 +1077,7 @@ CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_READ_ONLY_THP_FOR_FS=y
# CONFIG_NO_PAGE_MAPCOUNT is not set
CONFIG_PAGE_MAPCOUNT=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y

View File

@@ -11,8 +11,8 @@ CONFIG_AS_VERSION=24400
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24400
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=109300
CONFIG_RUSTC_LLVM_VERSION=210108
CONFIG_RUSTC_VERSION=109200
CONFIG_RUSTC_LLVM_VERSION=210103
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
@@ -1077,7 +1077,7 @@ CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_READ_ONLY_THP_FOR_FS=y
# CONFIG_NO_PAGE_MAPCOUNT is not set
CONFIG_PAGE_MAPCOUNT=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y

View File

@@ -38,6 +38,11 @@ KSM_ENABLE="${KSM_ENABLE:-$DEFAULT_KSM_ENABLE}"
# --- 2. ENVIRONMENT & TIER DETECTION ---
# Source environment to ensure HW_DEVICE is available
if [ -f /etc/profile ]; then
. /etc/profile
fi
# Global RAM calc (MB)
TOTAL_MEM_KB=$(awk '/MemTotal/ {print $2}' /proc/meminfo)
TOTAL_MEM_MB=$((TOTAL_MEM_KB / 1024))
@@ -60,10 +65,8 @@ fi
# even with lower RAM.
IS_HIGH_PERF_SOC=false
if [ -f /proc/device-tree/compatible ]; then
if grep -qE "rk3588|sm8|s922x|g12b|rk3399" /proc/device-tree/compatible; then
IS_HIGH_PERF_SOC=true
fi
if [[ "${HW_DEVICE,,}" =~ rk3588|sm8|s922x|g12b|rk3399 ]]; then
IS_HIGH_PERF_SOC=true
fi
# Basic mount check
@@ -193,7 +196,8 @@ show_status() {
# THP
if [ -f /sys/kernel/mm/transparent_hugepage/enabled ]; then
local thp=$(grep -o '\[.*\]' /sys/kernel/mm/transparent_hugepage/enabled | tr -d '[]')
printf " Huge Pages: %s\n" "$thp"
local defrag=$(grep -o '\[.*\]' /sys/kernel/mm/transparent_hugepage/defrag | tr -d '[]')
printf " Huge Pages: %s (Defrag: %s)\n" "$thp" "$defrag"
else
printf " Huge Pages: Absent\n"
fi
@@ -292,11 +296,12 @@ apply_vm_tuning() {
# 2. Compaction Proactiveness
local compaction_val=20
if [[ "${VM_COMPACTION,,}" == "auto" ]]; then
if [ "$IS_HIGH_RAM" = true ]; then
compaction_val=50
elif [ "$IS_LOW_RAM" = true ] && [ "$IS_HIGH_PERF_SOC" = true ]; then
# Low RAM/High CPU can afford proactive compaction to help THP/allocs
compaction_val=30
if [ "$IS_HIGH_PERF_SOC" = true ]; then
# High-end chips can afford background cleanup to keep THP ready.
compaction_val=40
elif [ "$IS_LOW_RAM" = true ]; then
# Save CPU cycles on budget targets.
compaction_val=10
else
compaction_val=20
fi
@@ -308,8 +313,29 @@ apply_vm_tuning() {
fi
# 3. Transparent Huge Pages
# Tiered THP Logic (FS MADVISE Synergy)
if [ -f /sys/kernel/mm/transparent_hugepage/enabled ]; then
# Default to madvise for all to prevent bloat
echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
# Enable for Shared Memory (Crucial for Vulkan/Wayland textures)
if [ -f /sys/kernel/mm/transparent_hugepage/shmem_enabled ]; then
echo advise > /sys/kernel/mm/transparent_hugepage/shmem_enabled
fi
# Budget vs Flagship Defrag Logic
# On Budget devices (e.g. H700, RK3326), we use 'defer' so the system
# never stalls while trying to find a contiguous 2MB block.
if [ "$IS_LOW_RAM" = true ] && [ "$IS_HIGH_PERF_SOC" = false ]; then
echo defer > /sys/kernel/mm/transparent_hugepage/defrag
logger -t memory-manager "THP: Budget mode enabled (defrag=defer)"
else
# Flagship (RK3588, SM8x) or powerful Mid-range (RK3399)
# Use defer+madvise to allow some synchronous compaction for
# applications that explicitly think it is worth the performance.
echo "defer+madvise" > /sys/kernel/mm/transparent_hugepage/defrag
logger -t memory-manager "THP: Flagship mode enabled (defrag=defer+madvise)"
fi
fi
}
@@ -322,6 +348,9 @@ apply_tuning() {
setup_ksm
if [ "$ZRAM_SIZE_VAL" -gt 0 ]; then
# With ZRAM + MGLRU + THP, high swappiness ensures the system swaps
# anonymous memory into compressed RAM, keeping physical RAM "unfragmented"
# for Huge Page allocations.
sysctl -w vm.swappiness=100 >/dev/null
sysctl -w vm.page-cluster=0 >/dev/null