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 – 对象等待中

java排查故障的更多相关文章

  1. Java进程故障排查

    故障分析 # 导致系统不可用情况(频率较大): 1)代码中某个位置读取数据量较大,导致系统内存耗尽,进而出现Full GC次数过多,系统缓慢: 2)代码中有比较消耗CPU的操作,导致CPU过高,系统运 ...

  2. Java进程故障排查思路及步骤

    故障场景 Java进程出现问题,通常表现出如下现象: Web应用响应时间长/超时,甚至不响应 CPU使用率极高/低,频繁出现Full GC,甚至OutOfMemoryError 响应时间长.超时,甚至 ...

  3. java程序故障排查脚本之——CPU占用高

    root@ubuntu-B85M-D3H:~/tmp# cat java_Analy.sh #!/bin/bash T=`ps -mp $1 -o THREAD,tid,time|sort -k 2 ...

  4. JVM命令-java服务器故障排查

    一.top(Linux命令) 执行top命令:    (查看进程15477的详细情况,下文用到) 系统信息(前五行): 第1行:Top 任务队列信息(系统运行状态及平均负载),与uptime命令结果相 ...

  5. 十个最好的Java性能故障排除工具

    1.jconsole  是随着JDK 1.5而推出的.这是一个Java监测和管理控制台-JMX兼容的图形工具来监测Java虚拟机.它能够同时监测本地和远程的JVMs.详情可查看:jconsole工具介 ...

  6. 用strace排查故障的5种简单方法(每日一译)

    原文链接:5 simple ways to troubleshoot using Strace 我很意外大部分人都不知道如何使用strace.strace一直是我的首选debug工具,因为它非常的有效 ...

  7. 线上java排查

    http://www.oschina.net/question/560995_137855?sort=default&p=3#answers http://www.blogjava.net/h ...

  8. Dell服务器通过IDRAC9收集TSR日志排查故障

    登陆IDRAC9 WEB管理界面,在菜单栏< 维护>下选择  在联网的情况下推荐完成SupportAssist的注册,根据提示安装ISM并进行信息登记.如暂不注册,则点击取消继续. 进入S ...

  9. Java程序线上故障排查

    目录 一.Linux 内存和cpu 网络 磁盘 /proc文件系统 二.JVM Java堆和垃圾收集器 gc日志分析 JVMTI介绍 Attach机制 java自带工具 三.三方工具 jprofile ...

随机推荐

  1. css3 文本控制自动换行

    text-overflow:ellipsis; white-space:nowrap; overflow:hidden;

  2. opencv-4-成像系统与Mat图像颜色空间

    opencv-4-成像系统与Mat图像颜色空间 opencvc++qtmat 目标 知道 opencv 处理图像数据的格式 介绍 mat 基础内容 知道 BGR 颜色 显示 颜色转换 BGR 到 灰度 ...

  3. 【Linux常见命令】vi,vim命令

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  4. Yii项目Security加密解密类提取

    <?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * ...

  5. 虚拟机上图片服务器搭建(FastDFS+nginx)

    文件服务器 0.提前建好需要的文件夹(/home/fastdfs) /home/fastdfs/tracker /home/fastdfs/storage /home/fastdfs/storage/ ...

  6. 最长公共子串(Longest common substring)

    问题描述: 给定两个序列 X=<x1, x2, ..., xm>, Y<y1, y2, ..., yn>,求X和Y长度最长的公共子串.(子串中的字符要求连续) 这道题和最长公共 ...

  7. nginx代理路径配置总结

    一.发现问题 配置nginx代理的时候,发现location配置的路径和代理的上下文路径的组合不同,服务端接收到的uri的路径不同,导致了controller的RequestMapping匹配出现问题 ...

  8. mysql中的读锁和写锁

    当mysql为一个表开启读锁的时候,其他进程包括进程本身没有权利去修改这张表的内容,也没有权利更新,但是可以读取表里面的内容 如下例子 给表上读锁 接着更新一下,显示被锁了 释放锁并插入数据 写锁 查 ...

  9. Java常用关键字总结

    1.abstract abstract修饰类,表示抽象的意思,抽象类可以含有非抽象变量和成员变量,也可以有普通方法和构造方法,但是不能被实例化(接口),但是可以被子类继承. public abstra ...

  10. ADC电路持续更新

    http://www.mcuol.com/tech/109/30923.htm