shell分析java应用

  sre


1.脚本权限是java进程的用户和用户组
2.使用show-cpu这个脚本是后边带上进程号
(重要)linux分析java应用

show-busy-java-threads.sh

show-busy-java-threads-172.sh

show-cpu-java-tid.sh

<#!/bin/bash

if [ # -eq 0 ];then
  echo "please enter java pid"
  exit -1
fi

pid=1
jstack_cmd=""

if [[ JAVA_HOME != "" ]]; then
  jstack_cmd="JAVA_HOME/bin/jstack"
else
  r=`which jstack 2>/dev/null`
  if [[ r != "" ]]; then
    jstack_cmd=r
  else
    echo "can not find jstack"
    exit -2
  fi
fi

#line=`top -H  -o %CPU -b -n 1  -p pid | sed '1,/^/d' | grep -v pid | awk 'NR==2'`

line=`top -H -b -n 1  -ppid | sed '1,/^/d' | sed '1d;/^/d' | grep -v pid | sort -nrk9 | head -1`
echo "line" | awk '{print "tid: "1," cpu: %"9}'
tid_0x=`printf "%0x" (echo "line" | awk '{print 1}')`jstack_cmd pid | greptid_0x -A20 | sed -n '1,/^$/p'>

show-membusy-java-threads.sh

LEAVE A COMMENT

Captcha Code