jvm cpu memory告警

死锁问题(jstack)
1、top命令观察,内存不断增长,CPU占用率居高不下,获取进程号PID
2、top -Hp 观察进程中的线程,哪个线程CPU和内存占比高,获取线程号PID
3、jps也可以定位java进程号。jstack 进程号,观察线程情况jstack日志。重点看线程状态WAITING,BLOCKED的线程
waiting on <0x0000000088ca3310> (a java.lang.Object)
例如这样的线程,在等待锁释放。翻阅jstack日志,找到哪个线程持有锁。一般这个线程为Runnable,一直不释放锁

频繁GC,甚至导致OOM问题(jmap)
1、jinfo pid进程号 查看jvm相关信息
2、jstat -gc pid time,每time(单位秒),刷新一次,查看GC情况
测试环境压测使用图形化界面:JDK自带的jconsole,jvisualVM。好用的jprofiler,收费!
生产环境通过命令操作
3、jmap -histo pid | head -20,查看有多少对象产生
在这里插入图片描述
当某一个对象实例非常多时,就是问题产生的地方,查看相关代码


执行jmap的堆转储文件会造成服务器卡顿!!
1、-XX:+HeapDumpOnOutOfMemoryError OOM问题产生,堆转储文件。
2、搞HA高可用
3、为何要转文件,线上处理吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值