Memory allocation
Most WHD systems perform well with a 3.0 GHz processor and 4 GB of RAM. This configuration supports up to 20 techs. If you plan to support more than 20 techs, SolarWinds recommends adding 1 GB of additional RAM for every 10 additional techs.
Deployments with fewer than 20 techs
If you plan to support 20 or fewer tech sessions in your deployment, you can run Web Help Desk on a system with the following:
- A supported operating system (see System Requirements for 2026.2.1)
- A 64-bit Java Virtual Machine (JVM), bundled with WHD 2026.2.1 or later
- 4 GB of RAM
This configuration supports 10 to 20 tech sessions with no on-board memory issues.
Deployments with more than 20 techs
If you plan to support more than 20 tech sessions in your deployment, SolarWinds recommends installing Web Help Desk on a system running the following:
- A supported operating system
- A 64-bit Java Virtual Machine (JVM), bundled with WHD 2026.2.1 or later
- 4 GB of RAM for 20 tech sessions plus 1GB of RAM for each additional 10 tech sessions
Number of technicians Minimum RAM Recommended RAM 10 4 GB 8 GB 20 4 GB 8 GB 30 5 GB 10 GB 50 7 GB 12 GB 100 12 GB 16 GB
JVM memory allocation
Do not configure JVM memory in conf\whd.conf. The whd.conf file is not used for JVM configuration in WHD 2026.2.1 and later.
WHD version 2026.2.1 and later versions run on an embedded Spring Boot application server. JVM heap memory is configured directly in the platform-specific service file for the backend process. The default settings are as follows:
-Xms256m(initial heap)-Xmx1024m(maximum heap)
Always back up configuration files before making changes. Make sure you have a rollback plan in case the new settings cause issues.
To adjust the maximum memory allocation, perform the following steps:
-
Determine the memory requirement based on your deployment size.
Number of technicians Minimum RAM Recommended RAM 10 4 GB 8 GB 20 4 GB 8 GB 30 5 GB 10 GB 50 7 GB 12 GB 100 12 GB 16 GB -
Identify the configuration file for your operating system.
Operating system Configuration file Element to edit Linux /etc/systemd/system/whd-backend.serviceExecStart line containing -Xmsand-XmxmacOS /Library/LaunchDaemons/com.solarwinds.whd.backend.plist<string>-Xms...</string> and <string>-Xmx...</string>in ProgramArgumentsWindows <WebHelpDesk>\bin\run-backend-with-env.batset "JVM_ARGS=-Xms...m -Xmx...m ..."line -
Open the configuration file in a text editor.
-
Locate the
-Xmsand-XmxJVM arguments. Update the values to match your required allocation. -
Save the file, then restart the WHD backend service.
Adjust memory allocation on Linux
Edit the ExecStart entry in the systemd service unit. This file is located at /etc/systemd/system/whd-backend.service.
Locate and update the following line:
ExecStart=/opt/webhelpdesk/bin/jre/bin/java \
-Xms256m -Xmx1024m \
-Djava.security.egd=file:/dev/./urandom \
... \
-cp /opt/webhelpdesk/bin/whd.jar:/opt/webhelpdesk/lib/* \
org.springframework.boot.loader.launch.JarLauncher \
--spring.config.additional-location=file:/opt/webhelpdesk/conf/ \
--server.address=127.0.0.1 \
--server.port=${WHD_BACKEND_PORT}
After saving, reload the systemd daemon and restart the service:
sudo systemctl daemon-reload sudo systemctl restart whd-backend
Verify that the service started with the new settings:
sudo systemctl status whd-backend journalctl -u whd-backend --no-pager -n 50
Adjust memory allocation on macOS
Edit the ProgramArguments array in the launchd plist file. This file is located at /Library/LaunchDaemons/com.solarwinds.whd.backend.plist.
Locate and update the following entries:
<string>-Xms256m</string> <string>-Xmx1024m</string>
After saving, restart the service:
sudo launchctl stop com.solarwinds.whd.backend sudo launchctl start com.solarwinds.whd.backend
Adjust memory allocation on Windows
Edit the JVM_ARGS line in the backend launcher script. This file is located at <WebHelpDesk>\bin\run-backend-with-env.bat.
Locate and update the following line:
set "JVM_ARGS=-Xms256m -Xmx1024m -Djava.security.egd=file:/dev/./urandom"
After saving, restart the backend service from an elevated command prompt:
net stop WHD-Backend net start WHD-Backend
Windows: FIPS mode
If running the FIPS service template directly (FIPS 140-2 mode), edit %WHD_HOME%\service\win\whd-backend-fips.xml.template. Update the -Xms and -Xmx values in the <arguments> XML element.
Sizing recommendations
| Server RAM | -Xms
|
-Xmx
|
Notes |
|---|---|---|---|
| 4 GB | 256m | 1024m |
Default Small deployments |
| 8 GB | 512m | 4096m | Medium deployments (50-200 technicians) |
| 16 GB | 1024m | 8192m | Large deployments (200+ technicians) |
| 32 GB+ | 2048m | 16384m |
Enterprise deployments Heavy workloads |
Always leave 25-50% of server RAM for the OS, PostGreSQL, and other processes. The -Xmx value should not exceed 50-75% of total available RAM.
Best practices
-
Set
-Xmsto 25-50% of-Xmxto reduce GC overhead at startup. -
Monitor before changing. Use jstat, jconsole, or app metrics to confirm memory is the bottleneck.
-
Avoid setting
-Xmxtoo high. Excessively-large heaps cause longer GC pauses. -
Test in staging first under representative load before applying to production.
-
Restart required. JVM memory settings only take effect after a full backend restart.
Troubleshooting
OutOfMemoryError
If you see java.lang.OutOfMemoryError, Java heap space in logs, increase -Xmx.
Application fails to start
If the JVM cannot allocate the requested memory, such as when -Xmx exceeds available RAM, reduce the value or add more RAM.
Verify current settings
Check the running JVM memory settings based on your operating system:
-
Linux/macOS
ps aux | grep java | grep whd
-
Windows (PowerShell)
Get-CimInstance Win32_Process -Filter "name='java.exe'" | Select-Object CommandLine
To adjust the maximum memory setting, edit the WHD_JVM_MAX_MEMORY setting in conf/whd.env. This sets the Java heap maximum (-Xmx) for the WHD backend service. Also, set WHD_JVM_MIN_MEMORY for the minimum heap (-Xms). Restart the WHD backend service after changing these values. The file path for conf/whd.env varies by operating system, as listed below.
| Operating system | Path |
|---|---|
| macOS | /opt/webhelpdesk
|
| Microsoft Windows Server | C:\Program Files\WebHelpDesk
|
| Linux | /opt/webhelpdesk
|
JVM memory allocation (WHD 12.5 and earlier)
WHD versions 12.5 and earlier use the MAXIMUM_MEMORY option in the whd.config file to control JVM heap allocation. This method does not apply to WHD versions 2026.2.1 and later.
To adjust the maximum memory setting in deployments of WHD version 12.5 and earlier, edit the MAXIMUM_MEMORY option in the whd.config file. This file is located in the WHD home folder.
| Operating system | Path |
|---|---|
| macOS | /Library/WebHelpDesk
|
| Microsoft Windows Server | C:\Program Files\WebHelpDesk
|
| Linux | /usr/local/webhelpdesk
|
For additional guidance on JVM memory configuration on WHD versions 12.5 and earlier, see Increase the Java Virtual Machine (JVM) memory.