To change the default value of a setting, always put arcadedb.
as a prefix. Example:
$ java -Darcadedb.dumpConfigAtStartup=true ...
To change the same setting via Java code:
GlobalConfiguration.findByKey("arcadedb.dumpConfigAtStartup").setValue(true);
Check the Appendix for all the available settings.
The server script parses a set of environment variables which are summarized below:
|
JVM location |
---|---|
|
JVM options |
|
ArcadeDB location |
|
|
|
JVM memory options |
For default values see the server.sh
and server.bat
scripts.
ArcadeDB Server, by default, uses a dynamic allocation for the used RAM. Sometimes you want to limit this to a specific amount. You can define the environment variable ARCADEDB_OPTS_MEMORY
to the JVM settings for the usage of the RAM.
Example to use 800M fixed RAM for ArcadeDB Server:
$ export ARCADEDB_OPTS_MEMORY="-Xms800M -Xmx800M"
$ bin/server.sh
ArcadeDB can run with as little as 16 MB for RAM. In case you’re running ArcadeDB with less than 800M of RAM, you should set the "low-ram" as profile:
$ export ARCADEDB_OPTS_MEMORY="-Xms128M -Xmx128M"
$ bin/server.sh -Darcadedb.profile=low-ram
Setting a profile is like executing a macro that changes multiple settings at once. You can tune them individually, check Settings.
In case of memory latency problems under Linux systems, the following JVM setting can improve performance:
$ export ARCADEDB_OPTS_MEMORY="-XX:+PerfDisableSharedMem"
for more information, see https://www.evanjones.ca/jvm-mmap-pause.html
The Java heap memory is by default configured for desktop use; for custom containers, memory configuration can be adapted by:
$ export ARCADEDB_OPTS_MEMORY="-XX:InitialRAMPercentage=50.0 -XX:MaxRAMPercentage=75.0"
More information about Java memory configuration see this article.