Nitrux optimizes performance and responsiveness by implementing advanced memory management tweaks.
- Reduced memory compaction overhead. Reduced CPU overhead and improved overall system responsiveness, especially in memory-intensive applications, by avoiding sudden CPU spikes from proactive compaction.
- Improved performance in contended lock scenarios. By allowing more aggressive page locking, we improve performance in memory-page-contention scenarios, which can occur in high-memory-usage, multi-threaded applications.
- Panic prevention (OOM Killer). Instead of freezing the entire system when memory runs out, we configure the kernel to kill only the specific task causing the shortage surgically.
- Enable THP (Transparent Hugepages) for all memory locations. This change improves performance for memory-intensive applications and those with access patterns that benefit from larger pages.
- Disable memory page fragmentation. In workloads like gaming, this change can reduce CPU overhead, improve system responsiveness, and provide more predictable performance.
- Improve system memory stability. We significantly increased the memory map limit to 16 million, preventing crashes under heavy workloads, such as Star Citizen, Elasticsearch, and certain Wine/Proton games that require many memory mappings.
- Handle sudden allocation reserves. We reserve a dedicated block of RAM for atomic operations, ensuring the system can handle bursts of network traffic or hardware interrupts without stuttering.
- Prioritize VRAM protection using cgroups. Configure the DRM device memory cgroup (dmem) controllers and enable kernel-level VRAM protection to ensure foreground applications, such as games, have priority access to VRAM. Under pressure, background processes are evicted first.
Important Notes
Nitrux uses dmemcg-booster, our fork of Valve’s dmemcg-booster daemon, adapted for OpenRC environments. To learn more about our fork of dmemcg-booster, check out its wiki.
