Magisk / KernelSU Module

Complete Control Over
Android Memory

LMK Controller by feerd gives you robust, boot-persistent control over Android's Low Memory Killer through a clean WebUI. Auto-detects kernel types effortlessly.

Fine-Tuned Modes

Select the configuration that matches your device usage via the MMRL WebUI.

Performance

Disables LMK thresholds completely. Allocates maximum RAM for the foreground application. Ideal for heavy gaming sessions.

minfree = 0,0,0,0,0,0

Stability

Provides balanced multitasking capabilities. Keeps apps in memory longer without system freezing. Recommended for daily use.

minfree = 1024,2048,4096,8192,12288,16384

Default

Reverts memory management to near AOSP stock behavior. Safe fallback if you experience any system instability.

minfree = 4096,5120,6144,7168,8192,9216

Core Features

Engineered for reliability, from boot to runtime.

Seamless WebUI

Fully manageable through a clean web interface accessible directly via MMRL or compatible module managers.

Boot Persistence

Guaranteed execution on every reboot utilizing /data/adb/service.d/. Your settings survive system restarts.

Smart Detection

Automatically detects your kernel architecture—seamlessly switching logic between Classic LMK and LMKD daemon.

Advanced LMKD

Full support for modern userspace LMKD utilizing magisk resetprop --file alongside HUP signaling.

Boot Diagnostics

Logs all boot execution data to /data/adb/modules/lmk_controller_feerd/boot.log for easy troubleshooting.

Clean Uninstall

Leaves zero trace. Removes all boot services and properties automatically upon module uninstallation.

Compatibility & Requirements

System Requirements

  • Android 8.0 or newer
  • Magisk 20.4+ or KernelSU
  • MMRL (or a compatible module manager for WebUI)

Classic LMK vs LMKD

Older Android kernels used an in-kernel driver called Classic LMK (manipulating a sysfs node). Modern Android uses LMKD, a userspace daemon responding to Android properties. LMK Controller supports both out of the box.

Installation & Verification

Get up and running in minutes.

# 1. Download the latest release zip
# 2. Flash via Magisk, KernelSU, or MMRL
# 3. Reboot your device
# 4. Open MMRL -> LMK Controller -> WebUI to configure

# --- How to manually check your kernel type in Termux ---

# Check for Classic LMK (If file exists, you have Classic LMK)
ls /sys/module/lowmemorykiller/parameters/minfree

# Check for LMKD (If blank or false, you have LMKD)
getprop ro.lmk.use_minfree_levels

# View the execution log to ensure the service ran on boot
cat /data/adb/modules/lmk_controller_feerd/boot.log

Changelog & Credits

v1.2-beta

Added robust LMKD support using magisk resetprop --file and HUP signal execution. Improved automatic kernel detection.

v1.1

Introduced the clean WebUI accessible via MMRL. Added boot persistence logic utilizing /data/adb/service.d/.

v1.0

Initial release. Full control over Classic LMK kernel nodes with 3 distinct operational modes.


Contributors

Special thanks to George Machen for beta testing the LMKD implementation on the Pixel 4a (5G).