首页 > 编程语言 > 详细

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

时间:2020-08-03 23:14:18      阅读:221      评论:0      收藏: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. 将日志交给开发,优化代码

参考链接:

  1. Java进程占用内存过高
  2. 记录一次jstack定位线上程序cpu占用过高的问题
  3. 记一次java程序CPU占用过高问题排查

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

原文:https://www.cnblogs.com/wanwz/p/13398948.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!