常用linux内存管理命令

检查是否有内存泄露情况

Java内存影像工具:jmap

jmap -histo:live pid 输出指定pid存活的内存直方图

    第一列,序号,无实际意义
    第二列,对象实例数量
    第三列,对象实例占用总内存数,单位:字节
    第四列,对象实例名称
    最后一行,总实例数量与总内存占用数

虚拟机统计信息监视工具:jstat

jstat -gcutil pid 10s 每10s记录一次gc回收信息,如:

  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
  0.00  80.28  38.44   4.19  96.53  93.94  13805  709.977     5    1.078  711.055
  0.00  80.28  57.48   4.19  96.53  93.94  13805  709.977     5    1.078  711.055
  0.00  80.28  71.95   4.19  96.53  93.94  13805  709.977     5    1.078  711.055
  0.00  80.28  84.82   4.19  96.53  93.94  13805  709.977     5    1.078  711.055
 77.88   0.00   4.89   4.19  96.53  93.94  13806  710.049     5    1.078  711.127
 77.88   0.00  13.71   4.19  96.53  93.94  13806  710.049     5    1.078  711.127
 77.88   0.00  26.91   4.19  96.53  93.94  13806  710.049     5    1.078  711.127
  0.00  83.91   2.54   4.19  96.53  93.94  13807  710.080     5    1.078  711.158

    S0 Survivor0区使用率
    S1 Survivor1区使用率
    E  Eden 区使用率
    O (Old)代表老年代使用率       
    M  
元空间(MetaspaceSize)已使用的占当前容量百分比   
    CCS 压缩使用比例
    P (Permanent)代表永久代使用率
    YGC (Young GC)代表从应用程序启动到采样时Minor GC 次数
    YGCT  代表从应用程序启动到采样时Minor GC耗时(单位秒)
    FGC (Full GC)代表从应用程序启动到采样时Full GC次数
    FGCT (Full GC)代表从应用程序启动到采样时Full GC耗时(单位秒)
    GCT  代表从应用程序启动到采样时Minor & Full GC共计耗时(单位秒)

命令详情参考:JDK内置命令使用说明

排查内存泄露参考文档:如何排查Java内存泄露

你可能感兴趣的:(Linux,工具使用)