Dealing with OOM Issues

Increasing I2P's RAM Limit

I2P is limited to using 128 MB of RAM by default. If you have a high-bandwidth router, run a lot of plugins, or are a heavy torrent user, the limit may have to be raised to prevent I2P from being killed by the JVM.

To increase the limit, edit the file wrapper.config and set the value for accordingly.

Default locations for wrapper.config:

32-bit Windows C:\Program Files\I2P\
64-bit Windows (32-bit JVM) C:\Program Files (x86)\I2P\
64-bit Windows (64-bit JVM) C:\Program Files\I2P\
Debian or Ubuntu packages /etc/i2p/ (can also use dpkg-reconfigure i2p)
Linux / FreeBSD (not Debian pkgs) $HOME/i2p/
OSX ??

Note: Any changes made to wrapper.config require I2P to be fully SHUTDOWN then STARTED. Clicking RESTART in the router console is not enough.

Limiting I2P's RAM usage

Tips for limiting the memory needed by I2P:

  • Limit the number of torrents in I2PSnark and/or reduce the bandwidth allotted to I2PSnark.
  • Reduce the bandwidth allotment
  • Disable any I2P Services, plugins, and tunnels that aren't needed.
  • Opt-out of being a floodfill by setting router.floodfillParticipant=false in I2P's Advanced Configuration.
  • Make sure that JBIGI is available and build it if necessary. If jbigi is available you should see something similar to Jbigi: Locally optimized native BigInteger library loaded from file at the top of the logs page. Additionally, you'll see something like the following in wrapper.log if it was loaded successfully:
    2013/10/14 20:05:13 | INFO: Native CPUID library jcpuid-x86-linux loaded from file
    2013/10/14 20:05:13 | INFO: Locally optimized native BigInteger library loaded from file

An Alternative JBIGI is available for systems that our official installer does not support. (Disclaimer: I built these binaries).

Last modified 6 years ago Last modified on Oct 21, 2013 3:37:46 PM