【问题标题】:I am sufferring JAVA G1 issue我正在遭受 JAVA G1 问题
【发布时间】:2018-01-22 11:16:21
【问题描述】:

有没有人在java G1 gc中遇到过这种问题

第一次高亮用户时间约为4毫秒 但是第二个用户时间是0毫秒,系统时间大约是4毫秒。

在 G1 gc 中系统时间不应该很高,这是 G1 gc 中的错误吗?

下面是我的 gc 参数

Xms200g -Xmx200g -Xmn30g -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSCompactAtFullCollection -XX:CMSMaxAbortablePrecleanTime=5000 -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -verbose:gc -XX:+PrintPromotionFailure -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC

2018-01-07T04:54:39.995+0800: 906650.864: [GC (Allocation Failure) 2018-01-07T04:54:39.996+0800: 906650.865: [ParNew
Desired survivor size 1610612736 bytes, new threshold 6 (max 6)
- age   1:   69747632 bytes,   69747632 total
- age   2:    9641544 bytes,   79389176 total
- age   3:   10522192 bytes,   89911368 total
- age   4:   11732392 bytes,  101643760 total
- age   5:    9158960 bytes,  110802720 total
- age   6:   10917528 bytes,  121720248 total
: 25341731K->170431K(28311552K), 0.2088528 secs] 153045380K->127882325K(206569472K), 0.2094236 secs] [Times: **user=4.53 sys=0.00, real=0.21 secs]**
Heap after GC invocations=32432 (full 10):
 par new generation   total 28311552K, used 170431K [0x00007f6058000000, 0x00007f67d8000000, 0x00007f67d8000000)
  eden space 25165824K,   0% used [0x00007f6058000000, 0x00007f6058000000, 0x00007f6658000000)
  from space 3145728K,   5% used [0x00007f6658000000, 0x00007f666266ffe0, 0x00007f6718000000)
  to   space 3145728K,   0% used [0x00007f6718000000, 0x00007f6718000000, 0x00007f67d8000000)
 concurrent mark-sweep generation total 178257920K, used 127711893K [0x00007f67d8000000, 0x00007f9258000000, 0x00007f9258000000)
 Metaspace       used 54995K, capacity 55688K, committed 56028K, reserved 57344K
}
2018-01-07T04:54:40.205+0800: 906651.074: Total time for which application threads were stopped: 0.2269738 seconds, Stopping threads took: 0.0001692 seconds
{Heap before GC invocations=32432 (full 10):
 par new generation   total 28311552K, used 25336255K [0x00007f6058000000, 0x00007f67d8000000, 0x00007f67d8000000)
  eden space 25165824K, 100% used [0x00007f6058000000, 0x00007f6658000000, 0x00007f6658000000)
  from space 3145728K,   5% used [0x00007f6658000000, 0x00007f666266ffe0, 0x00007f6718000000)
  to   space 3145728K,   0% used [0x00007f6718000000, 0x00007f6718000000, 0x00007f67d8000000)
 concurrent mark-sweep generation total 178257920K, used 127711893K [0x00007f67d8000000, 0x00007f9258000000, 0x00007f9258000000)
 Metaspace       used 54995K, capacity 55688K, committed 56028K, reserved 57344K
2018-01-07T04:55:02.541+0800: 906673.411: [GC (Allocation Failure) 2018-01-07T04:55:02.542+0800: 906673.411: [ParNew
Desired survivor size 1610612736 bytes, new threshold 6 (max 6)
- age   1:   93841912 bytes,   93841912 total
- age   2:   11310104 bytes,  105152016 total
- age   3:    8967160 bytes,  114119176 total
- age   4:   10278920 bytes,  124398096 total
- age   5:   11626160 bytes,  136024256 total
- age   6:    9077432 bytes,  145101688 total
: 25336255K->195827K(28311552K), 0.1926783 secs] 153048149K->127918291K(206569472K), 0.1932366 secs] [Times: **user=0.00 sys=4.07, real=0.20 secs]**
Heap after GC invocations=32433 (full 10):
 par new generation   total 28311552K, used 195827K [0x00007f6058000000, 0x00007f67d8000000, 0x00007f67d8000000)
  eden space 25165824K,   0% used [0x00007f6058000000, 0x00007f6058000000, 0x00007f6658000000)
  from space 3145728K,   6% used [0x00007f6718000000, 0x00007f6723f3cf38, 0x00007f67d8000000)
  to   space 3145728K,   0% used [0x00007f6658000000, 0x00007f6658000000, 0x00007f6718000000)
 concurrent mark-sweep generation total 178257920K, used 127722463K [0x00007f67d8000000, 0x00007f9258000000, 0x00007f9258000000)
 Metaspace       used 54995K, capacity 55688K, committed 56028K, reserved 57344K
}
2018-01-07T04:55:02.735+0800: 906673.604: Total time for which application threads were stopped: 0.2149603 seconds, Stopping threads took: 0.0002262 seconds
2018-01-07T04:55:14.673+0800: 906685.542: Total time for which application threads were stopped: 0.0183883 seconds, Stopping threads took: 0.0002046 seconds
2018-01-07T04:55:14.797+0800: 906685.666: Total time for which application threads were stopped: 0.0135349 seconds, Stopping threads took: 0.0002472 seconds
2018-01-07T04:55:14.810+0800: 906685.679: Total time for which application threads were stopped: 0.0129019 seconds, Stopping threads took: 0.0001014 seconds
2018-01-07T04:55:14.823+0800: 906685.692: Total time for which application threads were stopped: 0.0125939 seconds, Stopping threads took: 0.0002915 seconds
2018-01-07T04:55:21.597+0800: 906692.466: Total time for which application threads were stopped: 0.0137018 seconds, Stopping threads took: 0.0001683 seconds
{Heap before GC invocations=32433 (full 10):

【问题讨论】:

  • 您声称“在 G1 gc 系统中的时间不应该太高”的理由是什么?你对它了解多少(考虑到你甚至没有意识到你没有使用 G1)?

标签: garbage-collection call system g1gc


【解决方案1】:

您的命令行指定 -XX:+UseConcMarkSweepGC - 这不是 G1 问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多