
= Startup Configuration
:description: Learn about startup settings you can configure in {page-component-title}.

There are a number of startup settings that you can configure, including `JAVA_HEAP_SIZE`.
{page-component-title} startup scripts load `$\{OPENNMS_HOME}/etc/opennms.conf` early in their startup, if that file exists.

No `opennms.conf` exists in the default RPM/DEB installation, but `$\{OPENNMS_HOME}/etc/examples` includes a sample file that you can use as a starting point.

.Variables you may want to set

[options="header"]
[cols="2,3,1,3"]
|===

| Variable
| Description
| Default
| Behavior

| `JAVA_HEAP_SIZE`
| Specifies the maximum amount of memory the JVM should use.
You may want to increase this value if you experience long response times, frequent garbage collection that takes a lot of time, or see alarms that should have been cleared automatically still listed as alarms.
See https://opennms.discourse.group/t/performance-tuning/1438[performance tuning] on Discourse for more information.
| 2048
| Units are in megabytes.
Suffix `m` is added automatically with the result passed to JVM as an `-Xmx` flag.

|`JAVA_INITIAL_HEAP_SIZE`
| Specifies the initial amount of memory the JVM should use.
Effectively sets a minimum memory value when used in conjunction with `JAVA_HEAP_SIZE`.
You may want to increase this value if you experience long response times, frequent garbage collection that takes a lot of time, or see alarms that should have been cleared automatically still listed as alarms.
It is good practice to set the `JAVA_INITIAL_HEAP_SIZE` and `JAVA_HEAP_SIZE` to the same value.
| null
| Units are in megabytes.
Suffix `m` is added automatically with the result passed to JVM as an `-Xms` flag.

| `ADDITIONAL_MANAGER_OPTIONS`
| Additional options to pass to Java when starting {page-component-title}.
|
| Appended to other JVM startup flags.

| `MAXIMUM_FILE_DESCRIPTORS`
| You may want to change these values if you end up with too many "files open exceptions" in {page-component-title}.
See https://opennms.discourse.group/t/how-to-investigate-file-descriptor-issues/953[How to investigate file descriptor issues] on Discourse for more information.
| 20480
| Passed to `ulimit -n` before starting JVM.

| `MAXIMUM_SIZE_STACK_SEGMENT`
| Defines the size limit for each Java thread in the JVM.
| 8192
| Units are in kilobytes.
Passed to `ulimit -s` before starting JVM.
|===
