java内存过高_Java应用问题定位系列——内存占用过高

定位Java程序内存使用过高或者内存泄漏的问题跟CPU也类似,一般可以分为以下3个步骤:

定位进程

定位线程

定位具体方法(代码部分)

一、定位进程

通过top -c(然后按Shift+M按内存排序),或者htop等工具定位到具体的高内存进程。假设定位到的进程ID为14279。

二、定位线程

2.1 通过top查看线程

top -H -p 14279(然后按Shift+M按内存排序)定位占内存的线程:

%Cpu(s): 0.5 us, 0.7 sy, 0.0 ni, 98.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 8168236 total, 231696 free, 3660496 used, 4276044 buff/cache

KiB Swap: 969964 total, 969964 free, 0 used. 4197860 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

14293 weiping 20 0 4508772 97036 18112 S 10 12 152:35.42 java

14279 weiping 20 0 4508772 97036 18112 S 5.0 1.2 0:00.00 java

14282 weiping 20 0 4508772 97036 18112 S 0.0 1.2 0:00.37 java

2.2 通过ps统计下当前进程的线程数

ps p 14279 -L -o pcpu,pmem,pid,tid,time,tname,cmd |wc -l

2.3 初步判断

通过以上二步确认是否线程开多了&#x

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值