Skip to content

If AutoFill shows "Not enough memory to continue"

This guide explains how to solve the following error shown in AutoFill mode:

Not enough memory to continue. This can happen with larger databasese or too ambitious database settings (Argon2 memory parameter).

Cause

The main reason of this message is that the main KeePassium app and its Password AutoFill module work in different conditions. Specifically, the AutoFill module has very limited memory to operate — only about 120 MB. This memory allowance is for everything: app code, libraries, user interface — and your database with any temporary data during the decryption process.

If your database file is larger than a couple of MBs, or uses a memory-consuming cryptographic algorithm, AutoFill run out of its memory allowance while loading the file. In a good case, you would see the error message above. In the worst case, the system would terminate the AutoFill process and it would silently disappear from the screen.

The rest of this article describes possible solutions for this problem.

Solutions

Free up some memory

First of all, the system can indeed be low on memory (RAM, not storage). This can happen if there is a memory-hungry app or game running in background. In this case, AutoFill might have even less than 120 MB to begin with.

As a quick workaround, try restarting your device:

  • Hold the power button until you see the "Slide to turn off" message
  • Turn off the device
  • Turn it back on.

Tweak database settings

If cleaning the memory did not help, it is time to look at your database settings. The Argon2 algorithm, used by some databases, is designed to be a memory-heavy procedure. Depending on its parameters, Argon2 may request hundreds of MB — way more than system's limit for AutoFill.

You can change your database encryption settings to use less memory, say 32 MB max. To do so, open your database in KeePassium, tap the Tools button at the bottom of the screen → Encryption SettingsReset to Recommended Settings.

Optimize database size

Finally, it can be that the database file is too large to fit in memory.

By default, KeePass apps compress database content before encryption. Thus, even if the file is relatively small (5 MB or more) it will need much more memory to load.

To make the database file smaller and thus quicker to load:

  • Run database maintenance to remove obsolete data. This can be done in KeePass: ToolsDatabase ToolsDatabase Maintenance.
  • Convert the database to kdbx4 format which stores attachments more efficiently
    • KeePass: FileDatabase SettingsSecurityDatabase encryption algorithm → select "ChaCha20"
    • KeePassXC: DatabaseDatabase settingsSecurityEncryption settingsDatabase format → select "KDBX 4"

Move attachments to another database

If all else fails, the last resort is guaranteed to work: split database into two files, a smaller one for passwords and a larger one for attached files.