RFR: JDK-8068589: GCCause should distinguish jcmd GC.run from System.gc()
Kirk Pepperdine
kirk at kodewerk.com
Sun Jan 25 13:56:33 UTC 2015
Hi,
IMHO, if a System.gc() is being called then the cause should be System.gc(). If we start down the road of differentiating between the various causes of calls to System.gc() this will turn in a nightmare!
Indeed as I look at the patch it’s curious that it’s up to the caller to determine is calls to System.gc() have been suppressed. I would have expected the collect() call to make the decision as to should the call be honored or not.
void SystemGCDCmd::execute(DCmdSource source, TRAPS) {
if (!DisableExplicitGC) {
Universe::heap()->collect(GCCause::_jcmd_gc_run);
} else {
output()->print_cr("Explicit GC is disabled, no GC has been performed.");
}
Kind regards,
Kirk Pepperdine
On Jan 25, 2015, at 2:15 PM, Yasumasa Suenaga <yasuenag at gmail.com> wrote:
> Hi all,
>
> GCCause which is printed in gc log is "System.gc()" when jcmd GC.run is invoked.
> I think that GCCause which is caused by jcmd GC.run should be different from System.gc() .
>
> I uploaded webrev for this enhancement:
> http://cr.openjdk.java.net/~ysuenaga/JDK-8068589/webrev.00/
>
> This patch prints "jcmd GC.run" to gc log when jcmd GC.run is invoked.
>
>
> Could you review it?
>
>
> Thanks,
>
> Yasumasa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20150125/e14e626e/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20150125/e14e626e/signature.asc>
More information about the hotspot-gc-dev
mailing list