1 top命令查看cpu使用率

项目有监控大盘 可以从大盘上看

2 jstack Full Thread Dump

  1. Found one Java-level deadlock:
  2. =============================
  3. "Thread-1":
  4. waiting for ownable synchronizer 0x00000007d6e6dab8, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
  5. which is held by "Thread-0"
  6. "Thread-0":
  7. waiting for ownable synchronizer 0x00000007d6e6dae8, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
  8. which is held by "Thread-1"

3 分析jstack日志

对于jstack日志,我们要着重关注如下关键信息
Deadlock:表示有死锁
Waiting on condition:等待某个资源或条件发生来唤醒自己。具体需要结合jstacktrace来分析,比如线程正在sleep,网络读写繁忙而等待
Blocked:阻塞
Waiting on monitor entry:在等待获取锁

参考资料