zoukankan      html  css  js  c++  java
  • Java系统故障排查步骤和命令

    排除其他程序占用过量系统资源的情况

      [top] 检查cpu idle情况 

        [shift+p] 把进程按照cpu占用率从高到低排序 

        [shift+m] 把进程按照物理内存占用从大到小排序。

      [free -g] 检查物理内存 

      [vmstat –n 1] 检查si/so(换入换出)情况。

      [iostat –d 1] 检查磁盘I/O情况 

      [df] 可看到Device与目录的对应关系。

      [netstat –aonp | grep tcp | wc -l] 查看各种状态的tcp连接数量和。

      [netstat -natp|awk '{print $7}' |sort|uniq -c|sort -rn] 按照pid统计tcp连接的数量。

      [pstack] [strace] [gdb]  系统提供的检查工具,具体怎么用?

      [iotop] 查看每个进程的io情况(kernel v2.6.20以上版本支持)。

      [ls -l /proc/*/fd | grep 该设备映射装载到的文件系统路径] 没看懂?

      [pstack] 取得进程的线程调用栈  [strace] 跟踪磁盘读写API

    排除目标服务占用过量系统资源的情况

      [top]

        [shift+p]  按照进程cpu占用率从高到低排序 

        [shift+h] 观察线程级别的cpu使用分布

      [jstack pid > jstack.log] 获取目标服务中线程调用栈的情况(pid为16进制)。

      [top][shift+m] 按照进程物理内存占用从高到低排序。

    目标服务内部观察

      [jstat –gcutil pid] 查看目标服务的old区占用比例。

      [jmap –dump:file=dump.map pid] 取得目标服务的Java堆转储。然后可用mat工具分析dump.map文件。

      [tail -10000 Server-wzcb.out | grep -B2 -A10 -i exception] 查看日志中最近记录的异常。

      [jstack pid > jstack.log] 获取目标服务中“锁情况”和“各线程调用栈”信息。检查jstack.log中是否有deadlock报出。

      [POST http://www.xinitek.com/ajax/summaryJStack < jstack.log > jstack.log.summary] 对jstack.log做合并处理,然后继续分析故障所在。

  • 相关阅读:
    拍照
    ORACLE DATABASE 10G FALSHBACK 知识整理
    在webx.ml中 配置struts2 后 welcome-file-list 失效的解决办法
    基于内容的图像检索技(CBIR)术相术介绍
    Codeforces Round #198 (Div. 2) B. Maximal Area Quadrilateral
    终端复用工具tmux的使用
    泛型的使用
    1.2.4 Java Annotation 提要
    Java算法--串的简单处理
    【基础练习】【线性DP】codevs3641 上帝选人题解
  • 原文地址:https://www.cnblogs.com/wangliaohan/p/10617241.html
Copyright © 2011-2022 走看看