Out of memory issue
Atavism 10.8.0+
Even if your server has a lot of memory, like 4+ GB, you can still have this issue. It’s because Atavism is a bundle of 17 separate services, and each must have its own memory as each service can be installed on a separate machine.
You can set the memory for each service separately in the world.properties and auth.properties files which you can find on the server in the atavism_server/bin directory.
Just edit it with your preferred editor or even with WinSCP or FileZilla and find this section.
atavism.domain.Xms=1m
atavism.domain.Xmx=200m
Where Xms is the initial and Xmx is the maximum memory usage (in megabytes) for a particular Atavism service.
In Atavism 10.8.0Â there is an additional memory tuning utility that should tune your memory based on various server configurations like number of mobs, items, skills, abilities, effects, etc. By default it’s turned on in-game settings through the AUTO_ADJUSTMENT_MEMORY_THREADS parameter and AUTO_ADJUSTMENT_MEMORY_THREADS_INTERVAL which is set to 10 minutes, so every 10 minutes server will analyze the server configuration, and set recommended memory settings. This will also backup your whole config files in the atavism_server/bin/backup directory, so you could track how settings were changing over time. To modify your memory manually, you have to turn the AUTO_ADJUSTMENT_MEMORY_THREADS parameter to false, to disable auto tune system.
Atavism 10.6.0-10.7.0
Even if your server has a lot of memory, like 4+ GB, you can still have this issue. It’s because Atavism is a bundle of 17 separate services, and each must have its own memory as each service can be installed on a separate machine.
You can set the memory for each service separately in the world.sh file which you can find on the server in the atavism_server/bin directory.
Just edit it with your preferred editor or even with WinSCP or FileZilla and find this section.
# Memory configuration seperate for each of the server
JAVA_DOMAIN="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_PREFAB="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_PROXY="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_OBJMGR="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_COMBAT="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_WMGR="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_INSTANCE="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_LOGIN="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_MOB="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_ARENA="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_BUILDER="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_AUCTION="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_WEATHER="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_FACTION="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_QUEST="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_CHAT="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
As you can see there are all services available in Atavism, so check what service is having the “out of memory” issue and increase the memory for the service.
You can also increase values for the most demanding services like JAVA_PREFAB, JAVA_WMGR, and JAVA_MOB, you can set the memory limit for these to 512 or even higher, depending on your server memory. To do this, just modify the -Xmx200m
parameter to -Xmx512m
There are two more services that can use a bit more memory and these are JAVA_OBJMGR and JAVA_COMBAT. You can also increase them a bit but keep in mind to not set them to not overlook the total server memory capacity. These values are only for the Java Heap size, and there are other memory areas used by Java, so these shouldn’t take more than 70% of your total server memory.
So, the final config can look like this
# Memory configuration seperate for each of the server
JAVA_DOMAIN="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_PREFAB="${JVM_FLAG} -Xms1m -Xmx1024m ${JAVA_FLAGS} "
JAVA_PROXY="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_OBJMGR="${JVM_FLAG} -Xms1m -Xmx512m ${JAVA_FLAGS} "
JAVA_COMBAT="${JVM_FLAG} -Xms1m -Xmx512m ${JAVA_FLAGS} "
JAVA_WMGR="${JVM_FLAG} -Xms1m -Xmx1024m ${JAVA_FLAGS} "
JAVA_INSTANCE="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_LOGIN="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_MOB="${JVM_FLAG} -Xms1m -Xmx1024m ${JAVA_FLAGS} "
JAVA_ARENA="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_BUILDER="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_AUCTION="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_WEATHER="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_FACTION="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_QUEST="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "
JAVA_CHAT="${JVM_FLAG} -Xms1m -Xmx200m ${JAVA_FLAGS} "