java排查故障
top -Hp 31327

#或top -p 31327,再按shift+h,-H则是线程开关,传入该参数的话,top界面会显示所有单独的线程列表)

##31327为java进程,拿到异常的线程id后,便可以将该进程的线程栈用下面的jstack命令全部输出:

##jstack 查看java 堆栈信息
jstack 31327 |more

"http-bio-18080-exec-11" daemon prio=10 tid=0x00007f50b028e800 nid=0x5757 runnable [0x00007f50936eb000]
"http-bio-18080-exec-9" daemon prio=10 tid=0x00007f50b02a5000 nid=0x7a9d runnable [0x00007f512d6b5000]
"http-bio-18080-exec-8" daemon prio=10 tid=0x00007f50b02a3800 nid=0x7a9b runnable [0x00007f512d9e3000]
"http-bio-18080-exec-7" daemon prio=10 tid=0x00007f50b0011000 nid=0x7a99 runnable [0x00007f512dc88000]
"http-bio-18080-exec-5" daemon
————————————————
##可以看到这些线程都一直挂在程序的某一行,多半是这里发生了死锁

jps -vm | grep 31327 |more
##可以查看java进程的参数或者日志地址等.如果没有显示参数的话,可以cd到/proc/15195/cwd目录,该目录便是进程的运行目录

jstat -gc 15195
##获得当前进程的gc状态 ,注:用jstat -gcutil $PID $INTERVAL $TIMES查询可能会更直接

##如果是PU(PermGen Usage)占用非常高,约为95.7%,是因为Perm代过高,且CMS GC无法回收掉Perm区内容,而导致频繁GC。
##CMS GC与普通的STW Full GC不同,不会暂停应用,但是会导致CPU使用率非常高。
##解决方法有两种:1)提高Perm区大小,-XX:PermSize -XX:MaxPermSize,2)关掉Perm区收集机制,取消-XX:+CMSClassUnloadingEnabled
————————————————

######## 线程状态: #################
Deadlock – 死锁 
Runnable – 执行中 
Suspended – 暂停 
Blocked – 阻塞 
Parked – 停止 
Waiting on condition – 等待资源 
Waiting on monitor entry – 等待获取监视器 
Object.wait() 或 TIMED_WAITING – 对象等待中

最新文章

  1. SSRF篇-本着就了解安全本质的想法,尽可能的用通俗易懂的语言去解释安全漏洞问题
  2. 浅谈Linux中的信号处理机制(二)
  3. 【原创】AC自动机小结
  4. android 打开GPS的几种方式
  5. java代码整理---正则表达式
  6. POJ_2446_Chessboard
  7. 【ArcGIS 10.2新特性】Geodatabase 10.2 常见问题
  8. 【CDOJ931】Car race game(树状数组求逆序)
  9. kafka第六篇---多个进程读不齐
  10. 【Alpha】第一次项目冲刺
  11. Zabbix3.0基础教程之二:item、trigger、action、graph配置
  12. train_test_split数据切分
  13. 小甲鱼Python视频课后答案(第一讲)---仅记录学习
  14. centos7的ssh服务连接
  15. DefWindowProc是一个会产生消息的函数
  16. 【洛谷P3919】可持久化数组
  17. ThinkPHP 3.2 DEMO案例系列【phpmailer批量发送邮件】
  18. C# winform combobox默认选中项方法
  19. MySQL隐形索引简介
  20. ADCD 1.9 ZOS 配置 CTCI-W32 TCPIP 网络

热门文章

  1. 前端日期时间处理建议使用Momen
  2. Inno Setup 升级时不再询问用户安装路径
  3. Phaser都不懂,还学什么多线程
  4. Spring Boot JPA中关联表的使用
  5. Scala教程之:深入理解协变和逆变
  6. SQL计算算数表达式的函数自定义(加减乘除)
  7. 控制台报错 [WDS] Disconnected!
  8. Babel 在浏览器环境使用方法
  9. FZU 1894 志愿者选拔
  10. Jmeter 结构体系及运行顺序