美文网首页
Java内存监控和分析经典命令

Java内存监控和分析经典命令

作者: 小小啥 | 来源:发表于2021-02-13 21:31 被阅读0次
    1. jstat
      jstat -gcutil pid 20


      image.png

      20毫秒监控一次17966进程的内存使用情况,E代表新生代。O代表老年代,FGC是全局回收的次数,
      O不能一直增加,E回收的时候关注下拉近回收的速度

    2. 内存监控
      a. 检测程序是否存在内存泄露问题,主要通过稳定性测试时观察内存占用情况,如果内存增加比较明显(特别是计算内存)则需要对进程进行分析
      查看某进程内存占用的情况(内存泄露检测)
      Ps u 显示面向用户的输出。包括user,pid,%cpu,%mem,sz,rss,tty,stat,stime,time,command
      Ps v显示
      Ps x显示没有终端的进程除了有一个控制终端的进程。
      使用方法:Ps v 进程号
      其中与内存相关的值:
      RSS-进程实内存的大小,用KB表示;
      SIZE-进程数据节的虚拟大小,单位1KB。动态分配内存会引起SIZE的变化。
      SSIZ-内核堆栈大小。对于多线程进程,该值总为零。
      TRS-文本的驻留集大小。
      TSIZ-文本(共享内存)映像的大小。
      重点关注RSS、SIZE
      若是进程稳定运行一段时间后,进程的RSS和SIZE仍持续不停的增长,说明进程存在内存泄露的问题。
      b. 查看进程所占用的内存详细信息 jmap –heap 进程号
    3. 分析java内容泄漏:
      a、jmap -dump:format=b,file=heap.bin pid
      b、用MAT工具进行分析

    相关文章

      网友评论

          本文标题:Java内存监控和分析经典命令

          本文链接:https://www.haomeiwen.com/subject/gmkfxltx.html