You can generate Thread Dump & Heap dump manually in Jboss using the following shell scripts.
Let see how this script will work
while script executing time this script will ask EAP name. once you enter EAP name.. it will be generate 4 dump files with 30 seconds interval.
Let see how this script will work
while script executing time this script will ask EAP name. once you enter EAP name.. it will be generate 3 dump files with 30 seconds interval.
I hope this information is helpful to you......
Please register to this blog ...to get alerts when I post new articles or if you have need help in Middleware tasks
Download the following script and store it in a location such as /usr/local/bin.
Provide the file permissions and ownership for this script as you see fit. In this example, they are:
Generating Thread dump
#==============================================================
#
# Script Name : thread_dump.sh
# Developed by: Bharathkumar
#
#==============================================================
#!/bin/bash
JBOSS_HOME="/u02/local/opt/jboss-eap-6.2/mydomain/slave02"
JAVA_BIN="/usr/java/default/bin"
echo -e "\nPlease enter the \"EAP name\" !!!"
read EAP
LOG_DIR="$JBOSS_HOME/servers/$EAP/log"
#Get the EAP process ID
EAP_PID=`ps -ef | grep $EAP |
grep -v grep | awk '{print $2}'`
#generating four thread dump
files with 30 seconds interval
for i in 1 2 3 4; do
$JAVA_BIN/jstack -l
$EAP_PID >>
$LOG_DIR/threaddump.log
#Move the dump and keep it with creation dates to recognize the time
when the dump taken
mv
$LOG_DIR/threaddump.log
$LOG_DIR/threaddump.`date +%m%d%Y_%H%M`.log
sleep 30
done
echo -e "************************************************"
echo -e "please check thread dump files under " $LOG_DIR
echo -e "************************************************"
echo -e "\nThank you!!! Bye!!!\n"
exit 0
|
[jbossas@middleware shellscripts]$ ./thread_dump.sh
Please enter the "EAP name" !!!
rpa1-AS2
************************************************
please check thread dump files under /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log
************************************************
Thank you!!! Bye!!!
[jbossas@middleware shellscripts]$ ls -ltr /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log/thread*
-rw-rw-r-- 1 jbossas jbossas 59061 May 28 00:05 /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log/threaddump.05282016_0005.log
-rw-rw-r-- 1 jbossas jbossas 59049 May 28 00:13 /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log/threaddump.05282016_0013.log
-rw-rw-r-- 1 jbossas jbossas 58066 May 28 00:14 /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log/threaddump.05282016_0014.log
-rw-rw-r-- 1 jbossas jbossas 59049 May 28 00:15 /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log/threaddump.05282016_0015.log
[jbossas@middleware shellscripts]$
Generating Heap dump
#==============================================================
#
# Script Name : heap_dump.sh
# Developed by: Bharathkumar
#
#==============================================================
#!/bin/bash
JBOSS_HOME="/u02/local/opt/jboss-eap-6.2/mydomain/slave02"
JAVA_BIN="/usr/java/default/bin"
echo -e "\nPlease enter the \"EAP name\" !!!"
read EAP
LOG_DIR="$JBOSS_HOME/servers/$EAP/log"
#Script output log directory
SCRIPT_LOG="$LOG_DIR/heap_dumps.log"
#Get the EAP process ID
EAP_PID=`ps -ef | grep $EAP |
grep -v grep | awk '{print $2}'`
#generating three heap dump files with 30 seconds interval
for i in 1 2 3 ; do
echo "`date
+%x" "%X` Starting Heap Dump $DUMP_COUNT" >>$SCRIPT_LOG
$JAVA_BIN/jmap
-dump:format=b,file=$LOG_DIR/heapdump.hprof $EAP_PID >>$SCRIPT_LOG
#Move the heap dump and keep it with creation dates to recognize the
time when the dump taken
mv
$LOG_DIR/heapdump.hprof
$LOG_DIR/heap_$EAP.`date +%m%d%Y_%H%M`.hprof
echo "`date
+%x" "%X` Completed Heap Dump $DUMP_COUNT" >>$SCRIPT_LOG
sleep 30
done
echo -e "************************************************"
echo -e "please check heap dump files under " $LOG_DIR
echo -e "************************************************"
echo -e "\nThank you!!! Bye!!!\n"
exit 0
|
[jbossas@middleware shellscripts]$ ./heap_dump.sh
Please enter the "EAP name" !!!
rpa1-AS2
************************************************
please check heap dump files under /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log
************************************************
Thank you!!! Bye!!!
[jbossas@middleware shellscripts]$ ls -ltr /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log/heap*
-rw------- 1 jbossas jbossas 123447340 May 28 00:26 /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log/heap_rpa1-AS2.05282016_0026.hprof
-rw------- 1 jbossas jbossas 123723872 May 28 00:27 /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log/heap_rpa1-AS2.05282016_0027.hprof
-rw------- 1 jbossas jbossas 124270421 May 28 00:28 /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log/heap_rpa1-AS2.05282016_0028.hprof
-rw-rw-r-- 1 jbossas jbossas 848 May 28 00:28 /u02/local/opt/jboss-eap-6.2/mydomain/slave02/servers/rpa1-AS2/log/heap_dumps.log
Please register to this blog ...to get alerts when I post new articles or if you have need help in Middleware tasks
No comments:
Post a Comment