[转]排查线程池使用情况,可定时任务统计.打印到指定日志. 获取系统扩容,线程池改造信息.

尽可能打印线程池相关信息, 便于监控 ,定位分析.

详见 安全生产 - 稳定性建设的方法论 架构师应该做什么? []_个人渣记录仅为自己搜索用的博客-CSDN博客

获取系统扩容,线程池改造信息.

 

1. 查看进程id

jps
ps -ef | grep java
都可以查看

2. 查看进程里具体哪个线程最屌丝

  man top -H查看线程, -p 指定进程

top -H -p yourpid
例如,查看如下,那么13099最屌丝,并转换为十六进制(0x332b,注意小写)
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                             
13098 admin     16   0 2543m 1.4g  21m S  0.0 72.8   0:03.35 java                                                                   
13099 admin     16   0 2543m 1.4g  21m S  0.0 72.8   1:54.93 java                                                                   
13100 admin     16   0 2543m 1.4g  21m S  0.0 72.8   0:00.06 java                                                                   

3.  stack查看线程状态

-l  long listing. Prints additional information about locks

jstack -l yourpid | less
jstack -l yourpid | grep 0x332b --color=always -A10 
其中,各字段的含义,这里有比较ok的介绍:JAVA线程dump的分析 --- jstack pid - 无线&移动互联网技术研发 - BlogJava

4. [备注]thread dump里,有几个ID比较迷惑人,这里注解一下:
1) "tid" is the thread ID the thread have in the JVM (could be a memory address)
2) "nid" is the native thread id (in hex). On some Linux systems this ID maps directly to a process ID (number 13883 (in decimal) in your case).
3) 线程状态的后面,有时候也会多跟一个id,那个是"资源"的id号,在等待对它的获取等。

java 状态 http://www.uml-diagrams.org/examples/java-6-thread-state-machine-diagram-example.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值