Updated December 17, 2018
This article describes how to increase the amount of heap memory that is allocated to DPA. Additional memory allows DPA to monitor a large number of instances.
The default memory setting in DPA 9.1 and later (64-bit) is a minimum of 256 MB, and a maximum of 1024 MB.
DPA, all versions
The default maximum Java heap setting enables DPA to monitor up to 20 database instances. Use the following table to determine the appropriate setting for your environment.
Monitored Instances | Max Java Heap Size (64-bit) |
---|---|
0 - 20 | 1024 MB |
21 - 50 | 2048 MB |
51 - 100 | 4096 MB |
101 - 250 | 8192 MB |
Note: Do you plan to monitor more than 250 database instances? Consider using more than one SolarWinds DPA servers and Link together separate DPA servers.
When DPA is running as a Windows service, complete the following steps to increase the maximum:
windows.service.java.heap.max.size=
C:\Program Files\SolarWinds\DPA\removeWindowsService.bat
C:\Program Files\SolarWinds\DPA\createWindowsService.bat
Note: To run the batch files on most Windows servers, it works best to open a command prompt as an admin, change directory to the path that has the batch files, and then execute them. If you simply click on the .bat files to execute them, it's possible that the .bat file will not run because of user access control settings, or it will appear to run but the memory setting won't be changed.
When DPA is running on Linux or Unix, complete the following steps to increase the maximum:
When the files are run in a command prompt, the following shows a successful change to 2048 MB max memory.
RemoveWindowsService.bat Output:
CreateWindowsService.bat Output:
To verify the increase of Java heap memory in either Windows or Linux:
<installDir>\iwc\tomcat\logs\system.log
-Xmx
The following example is from a Windows installation. The setting is in red:
InputArguments: -Dcatalina.home=C:\Program Files\SolarWinds\DPA\iwc\tomcat -Dcatalina.base=C:\Program Files\SolarWinds\DPA\iwc\tomcat -Djava.endorsed.dirs=C:\Program Files\SolarWinds\DPA\iwc\tomcat\endorsed -Djava.io.tmpdir=C:\Program Files\SolarWinds\DPA\iwc\tomcat\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\Program Files\SolarWinds\DPA\iwc\tomcat\conf\logging.properties exit -Xms256m -Xmx2048m -Xss256k
The Max Java Heap Size setting can be set too high for your operating system. For example, Windows requires contiguous memory space. Since Windows loads DLLs that can easily fragment memory, higher Max Java Heap Size settings can be difficult to attain.
Problems can occur if DPA is running on a VM and there is dynamic memory in use with no reservation set on the memory.
For example:
DPA is running on a VM with dynamic memory set to 10 GB RAM and the default Java heap memory setting of 1024 MB. The above steps are taken to scale DPA to use 6 GB memory (6144 MB of memory). However, at the time of the adjustment, the VM isn't using or does not have a reserve on the memory from the host. In this situation, DPA might not restart.