To make it permanent, add this line to your service.sh script from Method 2.
Look for SwapTotal . It should read 0 kB . Alternatively, check free -m . disable zram magisk
zRAM creates a compressed block device within your physical RAM. When memory runs low, Android compresses inactive data and moves it into this "swap" area. To make it permanent, add this line to your service
: On Android Go or low-end devices, zRAM is often forced by a "low-ram" system flag. This module disables that flag, which can stop the system from aggressive memory compression. Manual Method via Terminal (Root Required) Alternatively, check free -m
While zRAM is a hero for low-memory devices by compressing data to fit more "stuff" into small spaces, Alex realized that on a powerful device, the CPU was working overtime to compress and decompress data that didn't need to be squeezed in the first place. It was time to disable it using the magic of . The Quest to Reclaim Performance
| Problem | Likely Cause | Fix | |---------|--------------|-----| | ZRAM still active after disable | Kernel re-initializes ZRAM later (e.g., via init.qcom.rc or vendor scripts) | Use post-fs-data.sh instead of service.sh or increase sleep time | | Bootloop | Aggressive removal breaking memory management | Boot to safe mode (vol down during boot) and delete module from /data/adb/modules via TWRP or adb | | Apps keep reloading | Device needs ZRAM due to low memory | Re-enable ZRAM, reduce swappiness instead of disabling fully | | Module not executing | Wrong path or permissions | Ensure scripts are 755 and located correctly. Check logcat \| grep magisk |
Create the module folder structure: