zoukankan      html  css  js  c++  java
  • JVM学习之Eclipse输出GC日志

         Java应用启动时,可以通过设置verbose参数来输出JVM的gc情况,命令如下:-verbose:gc或者-XX:+PrintGC
    在Eclipse中可以通过Run As|Run Configurations|Arguments|VM Arguments进行设置。
    使用该命令后输出如下:

     1 [GC 3375K->1317K(15872K), 0.0047372 secs]
     2 [GC 4973K->3427K(15872K), 0.0084376 secs]
     3 [GC 11340K->8175K(15872K), 0.0027110 secs]
     4 [Full GC 8175K->5127K(15872K), 0.0148359 secs]
     5 [GC 12249K->12249K(23060K), 0.0035303 secs]
     6 [Full GC 12249K->7501K(23060K), 0.0197696 secs]
     7 [GC 18184K->18184K(36944K), 0.0057985 secs]
     8 [Full GC 18184K->11062K(36944K), 0.0245650 secs]
     9 [GC 27086K->27086K(41744K), 0.0073461 secs]
    10 [Full GC 27086K->16403K(41744K), 0.0343230 secs]

        箭头(->)前后的数据3375K和1317K分别表示垃圾收集GC前后所有存活对象使用的内存容量,说明有3375K–1317K = 2258K大小的对象被回收,括号内的数据 123584K为堆内存的总容量,收集所需的实际为 0.0120528秒。需要注意的是:GC会暂用CPU时间片,会造成程序短暂的停顿,控制台输出GC信息还可以使用如下命令:
        在JVM的启动参数中加入:

      (1)-XX:+PrintGC,输出GC的简要信息

      (2)-XX:+PrintGCDetails,输出GC的详细信息:

    1 [GC[DefNew: 3375K->379K(4928K), 0.0041917 secs] 3375K->1317K(15872K), 0.0042904 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
    2 [GC[DefNew: 4035K->0K(4928K), 0.0088287 secs] 4973K->3427K(15872K), 0.0088957 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
    3 [GC[DefNew: 3165K->0K(4928K), 0.0026064 secs][Tenured: 8175K->5127K(10944K), 0.0146668 secs] 11340K->5127K(15872K), [Perm : 160K->160K(12288K)], 0.0173788 secs] [Times: user=0.02 sys=0.00, real=0.02 secs] 
    4 [GC[DefNew: 0K->0K(4992K), 0.0040182 secs][Tenured: 12249K->7501K(18068K), 0.0179673 secs] 12249K->7501K(23060K), [Perm : 160K->160K(12288K)], 0.0221141 secs] [Times: user=0.03 sys=0.00, real=0.02 secs] 
    5 [GC[DefNew: 0K->0K(8192K), 0.0050559 secs][Tenured: 18184K->11062K(28752K), 0.0257729 secs] 18184K->11062K(36944K), [Perm : 160K->160K(12288K)], 0.0309780 secs] [Times: user=0.03 sys=0.00, real=0.03 secs] 
    6 [GC[DefNew: 0K->0K(12992K), 0.0076682 secs][Tenured: 27086K->16403K(28752K), 0.0363194 secs] 27086K->16403K(41744K), [Perm : 160K->160K(12288K)], 0.0440790 secs] [Times: user=0.05 sys=0.00, real=0.04 secs]

    (3)-XX:+PrintGCTimeStamps,输出GC的时间信息如下:

    (4)-XX:+PrintGCApplicationStoppedTime,GC造成的应用暂停的时间

    1 Total time for which application threads were stopped: 0.0040944 seconds
    2 Total time for which application threads were stopped: 0.0089377 seconds
    3 Total time for which application threads were stopped: 0.0176941 seconds
    4 Total time for which application threads were stopped: 0.0218115 seconds
    5 Total time for which application threads were stopped: 0.0293873 seconds
    6 Total time for which application threads were stopped: 0.0420044 seconds
    7 Total time for which application threads were stopped: 0.0607124 seconds
  • 相关阅读:
    http://maxie.cnblogs.com/
    有一种爱叫错过
    Lotuser进阶系列(转)——多目录环境中的单点登陆1
    DOMINO中实现PDF在线编辑控件 and so on......(三)
    DOMINO中实现PDF在线编辑控件 and so on......(一)
    Lotuser进阶系列(转)——多目录环境中的单点登陆2
    在两个代理之间传递参数
    利用 DSAPI 为 Domino Web 用户定制用户名和口令认证
    通过 Lotus Domino Java 代理消费 Web 服务
    代理中如何获取参数么?
  • 原文地址:https://www.cnblogs.com/sunfie/p/5125511.html
Copyright © 2011-2022 走看看