java 获取线程 cpu_获取java最耗cpu资源线程信息

n=$1

if [ -z $n ];

then

n=1

fi

pid=`jps -lv|grep Server|awk '{print $1}'`

ps H -eo pid,ppid,tid,time,%cpu --sort=%cpu|grep $pid>Thread.txt

jstack $pid >/wls/wls81/jstack.txt

tid=`tail -n$n Thread.txt |awk {'print $3'}`

cpu=`tail -n$n Thread.txt |awk {'print $5'}`

tid_16=`echo "obase=16;$tid"|bc|tr "[:upper:]" "[:lower:]" `

i=1

for tid_l in $tid_16

do

echo "tid:$tid_l "

cpu_l=`echo $cpu|cut -d " " -f $i`

echo "cpu:$cpu_l"

task_state=`cat /proc/$pid/task/$tid_l/stat|cut -d " " -f 3`

echo "task_state:$task_state"

num_threads=`cat /proc/$pid/task/$tid_l/stat|cut -d " " -f 20`

echo "num_threads:$num_threads"

vsize=`cat /proc/$pid/task/$tid_l/stat|cut -d " " -f 23`

echo "vsize:$vsize"

rss=`cat /proc/$pid/task/$tid_l/stat|cut -d " " -f 24`

echo "rss:$rss"

rlim=`cat /proc/$pid/task/$tid_l/stat|cut -d " " -f 25`

echo "rlim:$rlim"

nswap=`cat /proc/$pid/task/$tid_l/stat|cut -d " " -f 36`

echo "nswap:$nswap"

cat jstack.txt|grep 0x$tid_l

((i=i+1))

done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值