How to Configure Java Heap Size for the UMS Server
You experience performance issues with IGEL Universal Management Suite (UMS). Manifold reasons can underlie performance degradation, and there are various solutions like optimizing the UMS according to recommendations under Performance Optimizations in IGEL UMS, expanding the server's physical RAM, switching from the embedded database to the external database, updating the UMS components, etc. The following article covers only the increase of UMS Server memory (Java heap size).
Symptom
You face performance problems and encounter memory issues in the UMS Server log files (catalina.log
; see Where Can I Find the IGEL UMS Log Files?), e.g. java.lang.OutOfMemoryError
.
Problem
The default Java heap size may be insufficient for the UMS Server. This usually happens if you have
numerous jobs
numerous administrative tasks
a lot of concurrent device requests (e.g. hundreds of devices booting up in a narrow time frame)
a large number of devices in the database (>10.000)
the UMS Web App installed
the combination of the above factors
The more jobs, administrative tasks, etc. are created, the more heap is "eaten up", so there may be no memory left for additional tasks. In such situations, it can make sense to increase the Java heap size for the UMS Server.
Solution: Change Java Heap Size for the UMS Server
Windows
For the UMS Server installed on Windows, you can modify the Java heap size during the UMS update/installation. For details, see IGEL UMS Installation under Windows. You can also modify the heap size as follows:
Stop the
IGEL RMGUIServer
service. For details on how you can stop it, see IGEL UMS HA Services and Processes.Navigate to
C:\Program Files\IGEL\RemoteManager\rmguiserver\bin
.Launch
editTomcatService.bat
.Select the Java tab and adapt the Maximum memory pool value according to your needs. (Default: 4096 MB)
The Java heap size must always be defined INDIVIDUALLY depending on the configuration of the server and your UMS environment, but it must be less than the amount of available physical RAM. General recommendations can be found in the Oracle article Tuning Java Virtual Machines (JVMs); see also the
-Xmx
option there.Note also the following:
- All heap size changes are at your own risk! Change the heap size only if you know exactly what you are doing. In the case of improper configuration, the UMS Server will be unable to run.
- Reducing the memory may affect the function of the UMS and is NOT recommended.
Click Ok.
Restart the
IGEL RMGUIServer
service.
Linux
For the UMS Server installed on Linux, you can modify the Java heap size as follows:
Stop the UMS Server process. For details on how you can stop it, see IGEL UMS HA Services and Processes.
Edit
/opt/IGEL/RemoteManager/rmguiserver/conf/ums-server.env
Find the option
CATALINA_OPTS=-Xmx4096m
and change the-Xmx
value according to your needs. (Default: 4096 MB)The Java heap size must always be defined INDIVIDUALLY depending on the configuration of the server and your UMS environment, but it must be less than the amount of available physical RAM. General recommendations can be found in the Oracle article Tuning Java Virtual Machines (JVMs); see also the
-Xmx
option there.Note also the following:
- All heap size changes are at your own risk! Change the heap size only if you know exactly what you are doing. In the case of improper configuration, the UMS Server will be unable to run.
- Reducing the memory may affect the function of the UMS and is NOT recommended.
- During the UMS update, the heap size value is set to the default. Therefore, you have to adapt it again.
Restart the UMS Server process.