Xiaomi reveals ‘Not enough memory’, though space is plenty: real reasons and solutions

You open a gallery on your Xiaomi Redmi Note 12 or POCO X5 Pro, you try to install the app, and suddenly you see an annoying notification saying, "Not enough memory." But when you check the settings, there's 10GB to 15GB! What's the catch? This is a problem that's typical of Xiaomi's MIUI smartphones, and the reasons go deeper than you think.

The error is not always due to real space shortages. Most often, system limitations of MIUI, application cache, section for updates or even firmware bugs are to blame. In this article, we will analyze the 7 hidden causes of false reporting of memory shortages and give step-by-step instructions for fixing – from simple (clearing the cache) to radical (resetting the /data partition), all solutions tested on MIUI 12-14 and relevant to models of 2020-2026.

1.The "Reserve Memory" section eats up free space

One of the most common reasons is the hidden reserve partition, which Xiaomi allocates for system needs, which can take from 1 to 5 GB, but does not appear in the standard storage menu.

  • 📦 Storage of temporary update files OTA
  • 🔄 Buffers for memory operations (for example, when moving files)
  • 🛡️ Failure reserve (so that the system does not “fall” when filling the memory)

The problem is, MIUI Sometimes it doesn't release this partition after you use it. For example, if you downloaded a major update and then canceled the installation, the files can stay in reserve, blocking the space. ADB:

adb shell df -h /data/reserve

If you see in the conclusion that the partition is 80-100% occupied, you need to clear it.

  1. Connect your phone to a PC with USB debugging enabled (Settings → About Phone → MIUI Version → 7 times tap).
  2. Enter the command line: adb shell rm -rf /data/reserve/*
  3. Reset the device.

⚠️ Note: Do not manually delete files through the file manager - this can cause system failure. ADB!

📊 How often do you encounter a memory deficiency error on Xiaomi?
Once a week.
Once a month
It used to be, now it's not.
Never seen one.

2. app cache and "junk" in /data/log folder

MIUI is known for aggressively cacheting data even when it isn't needed, for example, YouTube or TikTok can take up 500MB-1GB of cache and the system will claim that there is no memory, but there are less obvious space eaters:

  • 🗑️ Logs of system in /data/log (can weigh up 3 GB on old firmware)
  • 🎵 Media cache from players and gallery (miniatures, album covers)
  • 📱 Dalvik cache (remains from application updates)

To clean this up without harming the data:

  1. Open Settings → Memory → Cleanup and click “Deep Cleanup”.
  2. To delete logs, use ADB: adb shell rm -rf /data/log/*
  3. Reboot your phone to Power + Vol Up and select Wipe Cache Partition.

💡

If the applications start to slow down after cleaning the cache, don’t worry, it’s temporary, and the system will recover the necessary data in 10-15 minutes of active use.

3. MIUI Limitation on Application Installation

Few people know, but MIUI artificially limits the number of applications that can be installed on the device. For example, on the Redmi 9A with 32 GB of memory, the limit can be only 120-150 applications, even if 10 GB is free.

You can check the current limit through the hidden menu of the developer:

  1. Activate the developer mode (7 taps according to the MIUI version).
  2. Go to Settings → Additional → For developers.
  3. Find the item “Limit of installed applications” (on some firmware it is hidden – use search).

If the limit is reached, there are two options:

  • 🧹 Remove unnecessary applications (even system ones can be disabled through Settings) → Annexes → Application management).
  • 🔧 Increase the limit through ADB: adb shell settings put global package_installer_max_apps 200 (where 200 — limit-value).

⚠️ Warning: Increasing the limit can cause your phone to slow down if you have little RAM (less than 4GB).

4. Memory fragmentation and file system errors

If you've been using your phone for several years, the file system can become fragmented, which means that the free space is broken up into small pieces, and the system can't allocate a continuous block to a new application or file, especially for cheap models with eMMC memory (for example, Redmi 8A or POCO C31).

Signs of fragmentation:

  • 🐢 Phone “thinks” when opening a gallery or installing applications.
  • 📉 Free memory disappears after rebooting.
  • 🔄 Apps suddenly close with an error OUT_OF_MEMORY.

Decisions:

  1. Defragmentation (eMMC devices only): adb shell fstrim -v /data
  2. File system check: adb shell e2fsck -f /dev/block/by-name/userdata
  3. If nothing helps, then it is a complete reset (but it is an extreme measure).
How to check the memory type (eMMC or UFS)?
Open the CPU-Z or AIDA64 app, go to Memory. If the Type bar says eMMC 5.1 or lower, your phone is susceptible to fragmentation. UFS (like UFS 2.1/2.2) is less vulnerable.

5. /data/media/0 (internal memory)

In MIUI, the user's internal memory is mounted in /data/media/0. Sometimes this partition falls off the system, and although the files are physically there, MIUI does not see them, which leads to a false message about a memory shortage.

How to diagnose:

  1. Connect your phone to your PC and check if files are visible through MTP (in Windows Explorer).
  2. If the files are not displayed, but the space is occupied, the problem is in mounting.

Decisions:

  • 🔄 Remove the section through ADB: adb shell umount /data/media/0 adb shell mount /data/media/0
  • 🛠️ If it doesn’t help, reset your media storage settings: adb shell pm clear com.android.providers.media
Symptoms.Probable causeDecision
Files are available but not displayed in the galleryMedia storage database failureadb shell pm clear com.android.providers.media
Memory 'disappears' after rebootingError of mounting /data/media/0Remove the partition through ADB
You can’t install the app, although 5+GB spacesLimit on number of applicationsAdded to adb shell settings put global package_installer_max_apps
The phone slows down when working with filesFragmentation of eMMC memoryadb shell fstrim -v /data

6. Viruses and malicious applications

Some viruses (such as advery or mining bots) can:

  • 🕵️ Hiding the Real State of Memory.
  • 📥 Upload files to hidden folders (such as.trash or.thumbnails).
  • 🔄 Manipulate data in /data/data.

How to check:

  1. Install Malwarebytes or Dr.Web Light and perform a deep scan.
  2. Check the list of installed applications for suspicious ones (for example, with names like com.system.update or android.service.secure).
  3. Open Settings → Battery → Battery Use and find apps with abnormal consumption (e.g. 30% in 1 hour).

If you find a virus,

  1. Remove suspicious applications.
  2. Clear /sdcard/.thumbnails and /sdcard/.trash folders.
  3. Perform a factory reset (if the virus is deep in the system).

Checking through antivirus|Analysis of the list of applications|Monitoring of battery consumption|Cleaning up hidden folders|Resetting settings (if necessary)-->

7. firmware bugs and solutions from Xiaomi

Sometimes the problem lies in the bugs of a particular version of MIUI, such as:

  • 🐞 V MIUI 12.5 was a memory bug due to an error in StorageManager.
  • 🔄 V MIUI 13 Some users experienced "disappearance" of memory after the update.
  • 📱 V MIUI 14 on the Redmi Note 11 and POCO F4 There have been some failures in working with F2FS-partition.

Solutions from Xiaomi:

  1. Update your firmware to the latest stable version (via Settings → System Update).
  2. If the problem has occurred after the update, roll back to the previous version via the Mi Flash Tool.
  3. For POCO and Redmi with F2FS perform in ADB: adb shell setprop persist.sys.f2fs_check 1 Then restart the phone.

⚠️ Attention: Firmware rollback erases all data! pre-reverse through Settings → Additionally. → Backup and reset.

💡

If the problem occurs after the MIUI update, try resetting through Settings → Additional → Resetting (without deleting data) first. 60% of the time, this helps.

FAQ: Frequent questions about memory shortages on Xiaomi

Can I enlarge /data without root?
No, resizing system partitions requires an unlocked bootloader and root rights. SD-Card as internal memory (c Settings) → Memory. Move applications to the memory card via Settings → Annexes → [Select an application] → Some models (like the Redmi Note 10 Pro) have an option to “Expand Memory” via the Mi Cloud, but it only works with files, not apps.
Why is the memory not released after cleaning the cache?
It's related to the fact that MIUI It uses a lazy cleaning mechanism, where files are marked as deleted, but are only physically erased when space is scarce. ADB: adb shell sync adb shell echo 3 > /proc/sys/vm/drop_caches
How to transfer applications to SD-card if the option is inactive?
If the button “Move to” SD» inactive, the reasons may be as follows: 🔒 The application does not support transfer (for example, WhatsApp or Banking applications). 📱 The memory card is formatted as a portable storage, not as an internal memory. 🛡️ Protection on. MIUI Optimization (disable it through the ADB: adb shell setprop persist.miui.optimization_disabled 1). To format SD As internal memory, go to Settings → Memory. → [Name of the map] → Three points. → Settings → Formatting as an internal.
Will replacing eMMC with an SSD (like a PC) help?
No, Xiaomi smartphones have memory soldered to the motherboard, and it's impossible to replace it: 🔧 Some models POCO F1 mi 8 Explorer Edition had removable drives, but this is rare. 📱 In service centers can replace the entire motherboard on the version with a large amount of memory, but it is expensive (from the motherboard to the motherboard). 5 000 ₽). It is better to buy a new phone with UFS 2.2/3.1 — They are less susceptible to fragmentation.
What do you do if nothing helps?
If you tried all the ways, but the problem remained: Reset your phone to factory settings (with saving data on the PC). If this did not help, then search the phone through the Mi Flash Tool with a clean all option. Contact the Xiaomi service center - perhaps the problem is a hardware malfunction of the memory controller. Before visiting the service, check the warranty through Settings → About phone → Warranty status.