3

I got a very long pause time java young gc:

2016-11-21T15:03:09.839+0800: 15100.062: [GC (Allocation Failure)

2016-11-21T15:03:09.839+0800: 15100.062: [ParNew Desired survivor size 402653184 bytes, new threshold 6 (max 6)

  • age 1: 45038808 bytes, 45038808 total

  • age 2: 1077040 bytes, 46115848 total

  • age 3: 110144952 bytes, 156260800 total

  • age 4: 102297104 bytes, 258557904 total

  • age 5: 12136904 bytes, 270694808 total

  • age 6: 7312 bytes, 270702120 total : 5151460K->342421K(5505024K), 4.1780572 secs]

6631391K->1822507K(11796480K), 4.1786414 secs] [Times: user=2.61 sys=0.01, real=4.18 secs]

And I did a strace: enter image description here It seems many processes had been suspended for 3-4 seconds, maybe java gc thread also suffered from that. Can anyone tell me how to interpret the log printed by strace. I'm a beginner to strace. Thanks a lot. Since I didn't find an entry to upload the entire strace log, if you need it, I can mail it to you. Really appreciate it.

Community
  • 1
  • 1
tuan long
  • 605
  • 1
  • 9
  • 18
  • 1
    java uses futexes for a lot of things, it's hard to tell what that one is from strace alone. for starters you could add [safepoint statistics](http://stackoverflow.com/a/19201753/1362755) to your GC logging and also monintor your system's IO load and swap activity. and OS and jvm version might be helpful too – the8472 Nov 21 '16 at 09:59
  • @the8472 Thanks very much for your answer. Maybe strace is a little coarse for the investigation. I've googled for hours and I find the perf command maybe a better choice. – tuan long Nov 21 '16 at 10:21

0 Answers0