How do I get G1 to print more log details?

后端 未结 2 1490
伪装坚强ぢ
伪装坚强ぢ 2021-01-07 00:47

I\'m testing a Jetty-based API vs a Netty-based one. With the only difference in the experiment being which API I use (same application, same servers, same memory config, sa

2条回答
  •  灰色年华
    2021-01-07 01:40

    To add some closure to this: The issue was that this was not, technically, a GC pause; it was a combination of several factors:

    • AWS throttles IO to what you've paid for
    • /tmp on Ubuntu by default ended up on our (throttled) EBS volume
    • the JVM by default writes to /tmp during stop-the-world(!)

    Other parts of our application reached the EBS throttling threshold, and when the JVM tried to write to /tmp during a STW, all threads on the JVM became queued behind the AWS throttling point.

    It seems the Netty/Jetty difference was a red herring.

    We need our application to survive in this kind of environment, so our solution was to disable this JVM behavior, at the cost of loosing support from several JVM tools we added:

    -XX:+PerfDisableSharedMem
    

    More info on this issue from this excellent blog post: http://www.evanjones.ca/jvm-mmap-pause.html

提交回复
热议问题