In a run of this page from start until the animated map appears, this is the log of the times at which a GC was done:
2:214:GC t=0.175912 2:370:GC t=0.925824 2:595:GC t=1.469851 2:645:GC t=1.532591 2:2284:GC t=23.293265 2:10953:GC t=85.411238 2:11016:GC t=87.652958 2:11034:GC t=87.910751 2:11038:GC t=88.201925 2:11039:GC t=88.234485 2:11040:GC t=88.316330 2:11041:GC t=88.328484
As you can see, we go 20 seconds without any GC, and then 60 more after that until the next GC. Here are the last few calls to IsGCThresholdReached before the 23s GC:
IsGCThresholdReached t=18.488329 mb=7437487/33554432, gb=2427140/4390912 IsGCThresholdReached t=18.640668 mb=7439791/33554432, gb=2427140/4390912 IsGCThresholdReached t=18.869077 mb=7443295/33554432, gb=2427140/4390912 IsGCThresholdReached t=19.843841 mb=7446751/33554432, gb=2431236/4390912 IsGCThresholdReached t=19.930377 mb=7447423/33554432, gb=2431236/4390912 IsGCThresholdReached t=21.518867 mb=7450891/33554432, gb=2431236/4390912
'mb' is the mallocBytes (cur/max) and 'gb' is the gcBytes (cur/max). The last few calls just before the 85s GC are:
IsGCThresholdReached t=84.934737 mb=7226436/33554432, gb=7086000/34246720 IsGCThresholdReached t=84.935768 mb=7230504/33554432, gb=7090096/34246720 IsGCThresholdReached t=84.936678 mb=7234144/33554432, gb=7090096/34246720 IsGCThresholdReached t=84.937600 mb=7238212/33554432, gb=7094192/34246720 IsGCThresholdReached t=84.938453 mb=7241852/33554432, gb=7094192/34246720 IsGCThresholdReached t=84.942108 mb=7245272/33554432, gb=7098288/34246720
Whatever is causing the memory usage, it doesn't show up in the metrics used by IsGCThresholdReached, so we are not GC'ing.
In a run of this page from start until the animated map appears, this is the log of the times at which a GC was done:
2:214:GC t=0.175912
2:370:GC t=0.925824
2:595:GC t=1.469851
2:645:GC t=1.532591
2:2284:GC t=23.293265
2:10953:GC t=85.411238
2:11016:GC t=87.652958
2:11034:GC t=87.910751
2:11038:GC t=88.201925
2:11039:GC t=88.234485
2:11040:GC t=88.316330
2:11041:GC t=88.328484
As you can see, we go 20 seconds without any GC, and then 60 more after that until the next GC. Here are the last few calls to IsGCThresholdRe ached before the 23s GC:
IsGCThresholdRe ached t=18.488329 mb=7437487/ 33554432, gb=2427140/4390912 ached t=18.640668 mb=7439791/ 33554432, gb=2427140/4390912 ached t=18.869077 mb=7443295/ 33554432, gb=2427140/4390912 ached t=19.843841 mb=7446751/ 33554432, gb=2431236/4390912 ached t=19.930377 mb=7447423/ 33554432, gb=2431236/4390912 ached t=21.518867 mb=7450891/ 33554432, gb=2431236/4390912
IsGCThresholdRe
IsGCThresholdRe
IsGCThresholdRe
IsGCThresholdRe
IsGCThresholdRe
'mb' is the mallocBytes (cur/max) and 'gb' is the gcBytes (cur/max). The last few calls just before the 85s GC are:
IsGCThresholdRe ached t=84.934737 mb=7226436/ 33554432, gb=7086000/34246720 ached t=84.935768 mb=7230504/ 33554432, gb=7090096/34246720 ached t=84.936678 mb=7234144/ 33554432, gb=7090096/34246720 ached t=84.937600 mb=7238212/ 33554432, gb=7094192/34246720 ached t=84.938453 mb=7241852/ 33554432, gb=7094192/34246720 ached t=84.942108 mb=7245272/ 33554432, gb=7098288/34246720
IsGCThresholdRe
IsGCThresholdRe
IsGCThresholdRe
IsGCThresholdRe
IsGCThresholdRe
Whatever is causing the memory usage, it doesn't show up in the metrics used by IsGCThresholdRe ached, so we are not GC'ing.