Hi,
> Removed 1,592,839 unreachable objects using 679,092,640 bytes
>
> Does this mean there were these many objects that could be garbage collected but were not?
These many objects are ready to be garbage collected. In other words, by default, MAT runs the equivalent of a virtual System.gc when you load a dump so that you are only looking at live Java heap usage.
> In the end, How can I fix this problem? How to make JVM collect unused objects? I am using the default GC.
What's the output of java -version?
Kevin Grigorenko
Application Runtimes SWAT, IBM Software Support
From:
mat-dev <mat-dev-bounces@xxxxxxxxxxx> on behalf of Siddharth Jain via mat-dev <mat-dev@xxxxxxxxxxx>
Date: Monday, March 25, 2024 at 7:06 PM
To: mat-dev@xxxxxxxxxxx <mat-dev@xxxxxxxxxxx>
Cc: Siddharth Jain <siddhsql@xxxxxxxxx>
Subject: [EXTERNAL] [mat-dev] what does this mean: Removed 1, 592, 839 unreachable objects using 679, 092, 640 bytes
Hello, I am new to Eclipse MAT. I opened a heap dump and saw this message in the log: Removed 1,592,839 unreachable objects using 679,092,640 bytes Does this mean
there were these many objects that could be garbage collected but were not?To
Hello,
I am new to Eclipse MAT. I opened a heap dump and saw this message in the log:
Removed 1,592,839 unreachable objects using 679,092,640 bytes
Does this mean there were these many objects that could be garbage collected but were not?
To provide context I am trying to debug the following problem: I have an application. When run on a problem of size N I am seeing following memory usage:
As you can see the memory increases linearly from 1M to 10M but after that it increases
very rapidly and exponentially which is unexpected (the problem). I have analyzed my code and memory allocation is proportional to N. My application is storing data in HashMap(s) for the most part. The only reason I can think of is that memory is not
getting garbage collected. Is that hypothesis confirmed by this message in the log? (The log is shown for N=1M btw)
In the end, How can I fix this problem? How to make JVM collect unused objects? I am using the default GC.
I am really at my wits end trying to debug this and would appreciate any help.
|