Minor question about logging
Eugeniu Rabii
eugen.rabii at gmail.com
Sun Mar 8 05:01:43 UTC 2020
Hello,
I have a very simple program that constantly allocates some byte arrays
(of 2 MB) each (running with the latest jdk-13). I run it with :
-Xms20M
-Xmx20M
-Xmn10M
"-Xlog:heap*=debug" "-Xlog:gc*=debug" "-Xlog:ergo*=debug"
For example:
public static void main(String[] args) {
while (true) {
System.out.println(invokeMe());
}
}
public static int invokeMe() {
int x = 1024;
int factor = 2;
byte[] allocation1 = new byte[factor * x * x];
allocation1[2] = 3;
byte[] allocation2 = new byte[factor * x * x];
byte[] allocation3 = new byte[factor * x * x];
byte[] allocation4 = new byte[factor * x * x];
return Arrays.hashCode(allocation1) ^ Arrays.hashCode(allocation2)
^ Arrays.hashCode(allocation3) ^ Arrays.hashCode(allocation4);
}
In logs, I see something that is puzzling me:
[0.066s][debug][gc,ergo ] Request concurrent cycle initiation
(requested by GC cause). GC cause: G1 Humongous Allocation
[0.066s][debug][gc,heap ] GC(0) Heap before GC invocations=0 (full
0): garbage-first heap total 20480K, used 6908K [0x00000007fec00000,
0x0000000800000000)
[0.066s][debug][gc,heap ] GC(0) region size 1024K, 1 young
(1024K), 0 survivors (0K)
OK, so Heap Before: 1 young, 0 survivors.
Then:
[0.071s][info ][gc,heap ] GC(0) Eden regions: 1->0(9)
[0.071s][info ][gc,heap ] GC(0) Survivor regions: 0->1(2)
[0.071s][info ][gc,heap ] GC(0) Old regions: 0->0
So the next cycle will have 9 Eden Regions and 2 Survivor ones (at least
this is how I read the source code of where this is logged)
Then a GC(1) concurrent cycle happens:
[0.071s][info ][gc ] GC(1) Concurrent Cycle
And the next cycle is where I fail to understand the logging:
[0.076s][debug][gc,heap ] GC(2) Heap before GC invocations=2
(full 0): garbage-first heap total 20480K, used 7148K
[0x00000007fec00000, 0x0000000800000000)
[0.076s][debug][gc,heap ] GC(2) region size 1024K, 2 young
(2048K), 1 survivors (1024K)
How come 2 young, 1 survivors? When the previous cycle said 9 Eden, 2
Survivor.
Thank you,
Eugene.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20200308/b30d7319/attachment.htm>
More information about the hotspot-gc-use
mailing list