IS service usage is showing 87% and more constantly

IS server is constantly showing as 87% and some times increases to 92% based on the memory utilization, however it is not coming down below 87% . This occurs when there are no users connected as well.

I have attached the thread dump of yesterday’s and today which I captured.

Please let me know how to fix this issue.

Thanks & Regards,
Sastry
Thread_Dump_19022016.txt (238 KB)
Thread_Dump_1802201611CET.txt (237 KB)
Thread_Dump_18022016_07CET.txt (214 KB)

Hi Sastry,

please provide your java memory settings for IS from setenv.

Can you try to increase them?

Kindly provide your IS version.

Regards,
Holger

Additionally I tried to analyse the thread dumps with Samurai

unfortunately they seem to be incomplete (even when removing the first lines, which are not part of the thread dump itself).

Regards,
Holger

You can also check for how many days server is been up and running. What’s the load on the server at different intervals, what’s the OS performance, its resources utilization. There are many factors come in to affect the utilization of memory.

Thanks,

Yes I echo the same as Mr said there will be many factors in this kind of situation memory plays and note the GC collection also runs in the back ground at certain intervals and could slow down IS memory and so be sure to tune the IS heap settings/resource threads (assuming you have clustered environment) to handle the load etc…

If the memory thread dumps creating often then it’s definitely IS dealing with hard situation during times.

Please check the settings and logs/load thresholds and no of components installed on the IS for it handle the capacity with memory/resource utilization aspects.

HTH,
RMG

Thanks for your reply, presently IS and UM instances are running on the same server. We are using version 9.8.

C:\SoftwareAG\profiles\IS_default\bin below are the details from setenv.bat

if “%JAVA_MIN_MEM%”==“” (
set JAVA_MIN_MEM=256M
)

if “%JAVA_MAX_MEM%”==“” (
set JAVA_MAX_MEM=512M
)

if “%JAVA_MAX_PERM_SIZE%”==“” (
set JAVA_MAX_PERM_SIZE=128M
)

As this being development environment there is no clustering or load balancing implemented. It just 1 stand alone server.

In the thread dump I have observed that lot many threads are showing as WAITING or TIMED_WAITING, no idea how to analyse which threads are to be stopped.

Please let me know your inputs

Regards,
Sastry

Sastry – Try to update your properties with below one in Dev env first.

set JAVA_MIN_MEM=1024M
set JAVA_MAX_MEM=2048M
set JAVA_MAX_PERM_SIZE=1024M

Is your IS running as a service or as an application.

If it is running as a service, you will have to call server.sh/server.bat in a command prompt window to update the service settings in the registry.

Restart the service afterwards.

Small change:

To manually register an Integration Server instance to run as a Windows service

Open a command prompt, navigate to the Software AG_directory \profiles
\IS_instance_name \bin directory and run the following command to create the
Integration Server service:

service.bat -install

In the Microsoft Windows Control Panel in the Services dialog box, verify that the
service for Integration Server has been created.

Start the service from one of the following places:

  • Services dialog box in the Microsoft Windows Control Panel

  • Command prompt using the following command:
    net start
    where is the name of the service created.

Hello All,

Thanks a lot for your suggestion and help, yesterday we could fix the issue. Now the server memory is fine.

Regards,
Sastry

1 Like

The description, and solution found was related to ‘memory’ so i assume you had problem in memory that was assigned to this Integration server, and it is not to do with CPU.

The initial settings that you have pasted comes out of the box, and that explains, you have not modified it hence IS was starving for memory. You followed the suggestions provided by team, and it has helped.

Suggest you to add CMS part of IS JVM setting which will eventually bring the benefit one would get with CMS to your Integration servers.

-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC

Regards
Senthil

It depends on environment whether you have heavy transaction, jobs running, how many webMethods instances running on the same server etc, it will be good if your environment the Java heap size can configure up to 4096

By the way, you can also create and schedule to run the Garbage Collection Java service, scheduler interval can set between 200 sec to 300sec

The scheduled garbage collection is the process of looking at heap memory, identifying which objects are in use and which are not, and deleting the unused objects, this will help to free up some memory.