Documentation forWeb Help Desk

Memory allocation

The information on this page applies only to WHD 2026.2.1. For guidance related to other versions, see Web Help Desk Previous Version Documentation.

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 techniciansMinimum RAMRecommended RAM
    104 GB8 GB
    204 GB8 GB
    305 GB10 GB
    507 GB12 GB
    10012 GB16 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:

  1. 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
  2. Identify the configuration file for your operating system.

    Operating system Configuration file Element to edit
    Linux /etc/systemd/system/whd-backend.service ExecStart line containing -Xms and -Xmx
    macOS /Library/LaunchDaemons/com.solarwinds.whd.backend.plist <string>-Xms...</string> and <string>-Xmx...</string> in ProgramArguments
    Windows <WebHelpDesk>\bin\run-backend-with-env.bat set "JVM_ARGS=-Xms...m -Xmx...m ..." line
  3. Open the configuration file in a text editor.

  4. Locate the -Xms and -Xmx JVM arguments. Update the values to match your required allocation.

  5. 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 -Xms to 25-50% of -Xmx to reduce GC overhead at startup.

  • Monitor before changing. Use jstat, jconsole, or app metrics to confirm memory is the bottleneck.

  • Avoid setting -Xmx too 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.