服务端JAVA服务检查

服务端代码可能出现各种各样的问题,有不同的方式可以进行调试,比如看日志、使用远程调试工具(例如jprofiler),自带的命令工具。

例如Java服务,使用JDK自带命令:

怀疑服务的线程阻塞了,可以查看线程状态,看看因为哪里导致。

1、先查看java进程,找到你关心的服务

jps -lm
2、打印进程状态
jstack 27092|grep java.lang.Thread.State| awk '{print $2$3$4$5}' | sort | uniq -c
运行结果:
  8 RUNNABLE
  1 TIMED_WAITING(sleeping)
  4 WAITING(onobjectmonitor)
  150 WAITING(parking)

也可以直接使用jstack 27092 > log 去分析代码。

3、查看JVM内存的使用情况

jmap -heap 27092

4、也可以查看服务中存活的对象

jmap -dump:live,format=b,file=dump.hprof 27092

生成dump文件后可以利用自带的web服务加载,在浏览器中查看

jhat -J-Xmx512m dump.hprof



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值