Upon running monero-wallet-cli after a fresh master build of Monero 'Boron Butterfly' (v0.14.1.0-5fbfa8a) I received the message:

WARNING: You may not have a high enough lockable memory limit, see ulimit -l.

I tried it out.

$ ulimit -l 64

The 64 refers to KB. I'm not sure what to do though. I have about 8 GB of RAM. htop reflects usage of 307M/7.72G. This Linux box doesn't do much else besides act as a node. Should I increase the operating system's ability to lock more RAM? How far should I go? What are the consequences of making such a change? Can I make the increase only available to monerod or monero-wallet-cli?

2 Answers 2


I have 131072 kB and don't get any locking issues here. It may be much more than needed. If you don't know what to do, I suggest trying twice what you have now, and see if that fixes the warning. If not, double again, etc. The more unswappable memory you have, the less leeway your OS has in choosing what to swap out when more memory is needed. If you do this in a particular shell, I think the change only applies to that shell and its children (or that's what the man page claims, but you probably saw that already).

  • 1
    Yes I can confirm this. On Linux, ulimit is per-process, which means if you set it inside a shell, it applies to that shell and its children. There is also a command prlimit which you can use to set the memlock limit for another process.
    – knaccc
    May 27, 2019 at 5:07

In case this helps anyone, I had to change the limits by adding a line to /etc/security/limits.conf. For <domain> I put my username for the linux user that is using the wallet, for <type> I put hard, for <item> I put memlock and for <value> I put 2048. I think a minimum of 1024 was needed in my case.

Reboot and now it becomes possible to set ulimit -l for the (non-root) user, by doing ulimit -l 2048. You could alternatively add a second line into /etc/security/limits.conf where <type> is soft to set that as the default.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.