Difference between revisions of "Reducing memory usage"

From Bisq Wiki
Jump to navigation Jump to search
(add section to explain adding java options to bisq.cfg)
m (change 8gb maxram setting to 4gb)
Line 20: Line 20:
Save the file, close it, and then open Bisq.
Save the file, close it, and then open Bisq.

Revision as of 18:16, 21 August 2021

Bisq is known to be a resource-hungry application, so some users may want to reduce memory usage.

Command-line fix

Reduce Bisq's memory usage by setting a ceiling of 4GB:

JAVA_TOOL_OPTIONS="-XX:MaxRAM=4g" /opt/bisq/bin/Bisq

/opt/bisq/bin/Bisq is the default application directory on Linux. If you run another operating system, you'll need to replace that path with the one for your OS.

You can adjust the scaling factor as you wish, of course, and add any runtime options for Bisq as well.

GUI fix

To have this setting apply automatically when running Bisq from a menu icon, you'll need to adjust the launcher files to run a script with the fix in it.

1. Create the script, say /opt/bisq/Bisq-runner.sh.

JAVA_TOOL_OPTIONS="-XX:MaxRAM=4g" /opt/bisq/bin/Bisq

2. Make it executable.

chmod +x /opt/bisq/Bisq-runner.sh

3. Update the launcher (/opt/bisq/Bisq.desktop and/or /usr/share/applications/Bisq.desktop).


Persistent setting and Windows work-around

If you'd rather not specify the RAM parameter every time you start Bisq, you can specify it in Bisq.cfg so it automatically takes effect every time.

First, make sure Bisq is closed.

Your Bisq.cfg file is in the directory with your Bisq binary (this is different from your data directory location). See locations for each OS here.

Navigate to the directory with your Bisq binary. Using Windows as an example, this would be $home\AppData\Roaming\Bisq\.

Bisq.cfg should be in the app directory.

Open that file in a text editor. Look for the [JavaOptions] section, and a line in that section that look something like java-options=-XX:MaxRAM=8g. Change it to java-options=-XX:MaxRAM=4g, or add it if it's not already there.


Save the file, close it, and then open Bisq.


One of the settings Java virtual machines (JVMs) use to calibrate how much physical memory to reserve at startup is MaxRAM, and there is a good chance your JVM's default MaxRAM configuration is too large.

To check the default MaxRAM setting, run this java command:

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version | grep MaxRAM

Look for the MaxRAM value (bytes) in the output. An example:

367: uint64_t MaxRAM = 137438953472 

This means the OpenJDK 11 JVM's MaxRAM setting is 128GB, much more RAM than the average desktop machine has.

Experiments have shown running Bisq with a 4GB MaxRAM setting reduces memory consumption by more than 50% (when starting a clean Bisq installation with an empty data directory). Setting MaxRAM to 2GB reduces resident memory usage even more, but setting it any lower (1536m) will result in an OutOfMemoryError and crash the app.

As of version 1.3.2, Bisq starts with a MaxRAM setting of 4GB. If you're still having issues, try setting the parameter yourself as described above.