Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Unimus is written in Java. In Java, a software package can specify its memory limitations, or it can use the default ones provided by the JVM (Java environment) installed.
In case of x86 Oracle x64 JVM,   default max memory usage is 1GB4GB.
In case of x64 Oracle x86 JVM, default max memory usage is 4GB 1GB.
The philosophy of Java is that if all the stuff you need is in memory, the application is faster (or course, at the expense of memory usage).
This basically means that the garbage collector is not executed by the JVM until memory consumption of the application gets close to the limit, or until system memory starts running out.

 If  If you limit how much RAM an application can claim, there is of course a trade-off.
The less RAM an application has assigned, the more often the garbage collector will need to run, which will increase the CPU utilization. If you assign too little memory, the application can crash with "not enough memory" errors. 

So the actual RAM utilization of Unimus will depend on how its memory limits are configured, as well as how many devices you have, how often you run backups, etc. - basically on how utilized the software is.

...

By default, Unimus is configured to use 768MB use around 1.2GB of RAM at maximum. This configuration is split between 2 main parts:

  • maximum heap size limit - configured by the "-Xmx" configuration parameter
  • other Java memory assignments which are left at default JVM values

The "-Xmx" configuration is set to 768 MB by default, and the other Java memory pools consume around an additional 400 MB.

This can be changed by the user.

Changing RAM limit assignment

RAM assignment to Unimus can be configured.

Our recommendations for memory assignment can be found in the Hardware Sizing Guide here on the wiki.
(you can use the values there as the -Xmx argument for the JVM)

Unimushttps://wiki.unimus.net/display/UNPUB/H ... quirements: Hardware requirements - Unimus
Unimus Core: Hardware requirements - Core

On Windows:

For portable:
Create a file named Unimus.l4j.ini in the same directory as the Unimus executable.
Change Unimus in the above file name to exactly match the name of the Unimus executable.

...

Inside of this configuration file, please change the following lines:

Code Block
languagetext
-Xms1G
-Xmx2G

Please make sure to place each argument into its own line.

This would assign 1GB of RAM to Unimus from the start, and allow it allow Unimus to only grow to around 2GB of RAM utilization (you might see more usage in Task Manager, due to JVM overhead).

...

Add this into the file:

Code Block
languagetext
-Xms1G -Xmx2G

This would assign 1GB of RAM to Unimus from the start, and allow it allow Unimus to only grow to around 2GB of RAM utilization (you might see more usage in 'top' or 'htop', due to JVM overhead).

...