zoukankan      html  css  js  c++  java
  • java jdk自带程序分析(内存分析/线程分析)

    周末看到一个用jstack查看死锁的例子。昨天晚上总结了一下jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令。

    1.1.Jstack 
    1.1   jstack能得到运行java程序的java stack和native stack的信息。可以轻松得知当前线程的运行情况。如下图所示 
     
    注:这个和thread dump是同样的结果。但是thread dump是用kill -3 pid命令,还是服务器上面少用kill为妙

    1.2   命名行格式 
    jstack [ option ] pid 
    jstack [ option ] executable core 
    jstack [ option ] [server-id@]remote-hostname-or-IP 
    最常用的还是jstack  pid 

    1.3   在thread dump中,要留意下面几种状态 
    死锁,Deadlock(重点关注) 
    等待资源,Waiting on condition(重点关注) 
    •  等待获取监视器,Waiting on monitor entry(重点关注) 
    阻塞,Blocked(重点关注) 
    •  执行中,Runnable 
    •  暂停,Suspended 
    •  对象等待中,Object.wait() 或 TIMED_WAITING 
    •  停止,Parked 
    下面有详细的例子讲这种分析,大家参考原著 
    http://www.cnblogs.com/zhengyun_ustc/archive/2013/01/06/dumpanalysis.html 

  • 相关阅读:
    Git
    Shell-sed之替换字符
    Linux IO/NFS tunning 性能优化及检测
    利用Java Flight Recorder(JFR)诊断timing及内存问题
    Get/Post
    SQL-1
    HTTP协议简要
    nmap简单使用
    (C语言)买东西找零钱
    今日错误(C语言)(定义二维数组储存)
  • 原文地址:https://www.cnblogs.com/panxuejun/p/6052176.html
Copyright © 2011-2022 走看看