Java问题-java进程占用内存过高,排查原因

符号 阅读:865 2020-09-10 21:59:48 评论:0

Java进程占用内存过高,排查原因

排查步骤

  1. top查看是否是java进程占用内存最高

    ]# top 
    top - 18:26:43 up  5:23,  2 users,  load average: 0.00, 0.01, 0.04 
    ... 
       PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND 
       870 root      20   0  148504   2308   1448 R  0.3  0.2   0:00.04 java 
    
  2. ps查看java线程

    ]# ps -p 2962 -L -o pcpu,pmem,pid,tid,tname,cmd 
    %CPU %MEM    PID    TID TTY      CMD 
     0.0  2.3    870    870 ?        ... 
     0.0  2.3    870   1264 ?        ... 
    
  3. jstack打印日志

    ]# jstack -l 870 > java_check.log 
    
  4. 检查日志,定位问题

    ]# printf "%x\n" 1264 
    4f0 
    ]# vim java_check.log 
    #根据4f0定位线程 
    
  5. 将日志交给开发,优化代码

标签:javaJVM
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号