自動入力で「メモリが不足しています」と表示される場合
このガイドでは、自動入力モードで表示される次のエラーの解決方法を説明します。
メモリが不足しています。 これは大きなデータベースやメモリを多く使う設定(Argon2のメモリ)で発生します。
原因
このメッセージの主な原因は、KeePassium 本体アプリとパスワード自動入力モジュールの動作条件が異なることにあります。具体的には、自動入力モジュールが使用できるメモリは非常に限られており、約 120 MB しかありません。この上限には、アプリのコード、ライブラリ、ユーザインターフェイス、そして復号処理中の一時データを含むデータベースまで、すべてが含まれます。
データベースファイルが数 MB を超えていたり、メモリを多く消費する暗号アルゴリズムを使用していたりすると、自動入力はファイルの読み込み中にメモリの上限に達してしまいます。運が良ければ上記のエラーメッセージが表示されますが、最悪の場合はシステムが自動入力のプロセスを強制終了し、画面から何も表示されずに消えてしまいます。
以降では、この問題の解決策を紹介します。
解決策
メモリを解放する
まず、システムのメモリ(ストレージではなく RAM)が実際に不足している可能性があります。メモリを大量に消費するアプリやゲームがバックグラウンドで動作していると、この状態になることがあります。その場合、自動入力が使えるメモリは最初から 120 MB を下回っているかもしれません。
手早い回避策として、デバイスを再起動してみてください。
- 「スライドで電源オフ」の表示が出るまで電源ボタンを長押しします
- デバイスの電源を切ります
- 再び電源を入れます
データベースの設定を調整する
メモリの解放で解決しない場合は、データベースの設定を見直しましょう。一部のデータベースで使われている Argon2 アルゴリズムは、意図的にメモリを大量に消費するよう設計されています。パラメータによっては、Argon2 が数百 MB を要求することもあり、これは自動入力に対するシステムの上限を大きく超えています。
暗号化設定を変更して、使用メモリを抑える(たとえば最大 32 MB にする)ことができます。設定を変更するには、KeePassium でデータベースを開き、画面下部の ボタンをタップ → 暗号化の設定 → 初期設定値にリセット の順に進みます。
データベースのサイズを最適化する
最後に、データベースファイルが大きすぎてメモリに収まらない可能性もあります。
KeePass 系アプリは、デフォルトでデータベースの内容を圧縮してから暗号化します。そのため、ファイル自体が比較的小さくても(5 MB 以上程度)、読み込みにははるかに多くのメモリが必要になります。
ファイルを小さくして読み込みを速くするには:
- データベースのメンテナンスを実行して、不要になったデータを削除します。これは KeePass で行えます:ツール(T) → データベースツール(D) → データベースの保守。
- 添付ファイルをより効率的に保存できる
kdbx4形式に変換します:画面下部のをタップ → 暗号化の設定 → 初期設定値にリセット をタップし、完了 で変更を保存します。
添付ファイルを別のデータベースに移動する
それでも解決しない場合、最後の手段として確実に効果があるのは、データベースを 2 つのファイルに分割することです。パスワード用の小さいファイルと、添付ファイル用の大きいファイルに分けてください。