jvm 命令相关

查看哪个线程占用最多资源:

找出该进程内最耗费CPU的线程,可以使用ps -Lfp pid或者ps -mp pid -o THREAD, tid, time或者top -Hp pid  命令查看这个进程下面的所有线程占用情况。

找出该进程  ps -ef | grep java

找出该进程内最耗费内存的线程 :top -H -p  pid

PS:ps -eLf 查看所有所有进程的所有线程    

监控java线程数:
ps -eLf | grep java | wc -l

jstack [-l] pid
jstack 8545 > stack.log
jstack [进程]|grep -A 10 [线程的16进制] 
即: jstack 21125|grep -A 10 52f1  
-A 10表示查找到所在行的后10行。21233用计算器转换为16进制52f1,注意字母是小写。
 

jstack -m 会打印出JVM堆栈信息,涉及C、C++部分代码,可能需要配合gdb命令来分析。

 

频繁GC问题或内存溢出问题

一、使用jps查看线程ID

二、使用jstat -gc 3331 25 20 查看gc情况,一般比较关注PERM区的情况,查看GC的增长情况。

jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]

三、使用jstat -gccause:额外输出上次GC原因

四、使用jmap -dump:format=b,file=heapDump 3331生成堆转储文件

五、使用jhat或者可视化工具(Eclipse Memory Analyzer 、IBM HeapAnalyzer)分析堆情况。

六、结合代码解决内存溢出或泄露问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值