如何生成 hprof文件 + weblogic启动文件配置
来源:互联网 发布:新版淘宝购物评级在哪 编辑:程序博客网 时间:2024/04/30 10:38
系统宕机了,weblogic生成 .phd 和 javacore文件,分别使用 jca457.jar 和 ha456.jar来分析,但是heapdump文件分析时指向的问题和内存泄漏点类并不是很方便对应我们的代码,所以想使用mat工具来分析,但是需要生成 hprof文件
需要修改startWebLogic.sh文件,宕机时就会自动生成对应的hprof文件
LOG_OPTIONS="-Xloggc:$LOG_PATH/gc.$$.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:HeapDumpPath=$LOG_PATH/heapdump.$$.hprof -XX:ErrorFile=$LOG_PATH/hs_err_pid.$$.log"
#!/bin/sh
# WARNING: This file is created by the Configuration Wizard.
# Any changes to this script may be lost when adding extensions to this configuration.
# --- Start Functions ---
stopAll()
{
# We separate the stop commands into a function so we are able to use the trap command in Unix (calling a function) to stop these services
if [ "X${ALREADY_STOPPED}" != "X" ] ; then
exit
fi
# STOP DERBY (only if we started it)
if [ "${DERBY_FLAG}" = "true" ] ; then
echo "Stopping Derby server..."
${WL_HOME}/common/derby/bin/stopNetworkServer.sh >"${DOMAIN_HOME}/derbyShutdown.log" 2>&1
echo "Derby server stopped."
fi
ALREADY_STOPPED="true"
}
classCaching()
{
echo "Class caching enabled..."
JAVA_OPTIONS="${JAVA_OPTIONS} -Dlaunch.main.class=${SERVER_CLASS} -Dlaunch.class.path="${CLASSPATH}" -Dlaunch.complete=weblogic.store.internal.LockManagerImpl -cp ${WL_HOME}/server/lib/pcl2.jar"
export JAVA_OPTIONS
SERVER_CLASS="com.oracle.classloader.launch.Launcher"
}
# --- End Functions ---
# *************************************************************************
# This script is used to start WebLogic Server for this domain.
#
# To create your own start script for your domain, you can initialize the
# environment by calling @USERDOMAINHOME/setDomainEnv.
#
# setDomainEnv initializes or calls commEnv to initialize the following variables:
#
# BEA_HOME - The BEA home directory of your WebLogic installation.
# JAVA_HOME - Location of the version of Java used to start WebLogic
# Server.
# JAVA_VENDOR - Vendor of the JVM (i.e. BEA, HP, IBM, Sun, etc.)
# PATH - JDK and WebLogic directories are added to system path.
# WEBLOGIC_CLASSPATH
# - Classpath needed to start WebLogic Server.
# PATCH_CLASSPATH - Classpath used for patches
# PATCH_LIBPATH - Library path used for patches
# PATCH_PATH - Path used for patches
# WEBLOGIC_EXTENSION_DIRS - Extension dirs for WebLogic classpath patch
# JAVA_VM - The java arg specifying the VM to run. (i.e.
# - server, -hotspot, etc.)
# USER_MEM_ARGS - The variable to override the standard memory arguments
# passed to java.
# PRODUCTION_MODE - The variable that determines whether Weblogic Server is started in production mode.
# DERBY_HOME - Derby home directory.
# DERBY_CLASSPATH
# - Classpath needed to start Derby.
#
# Other variables used in this script include:
# SERVER_NAME - Name of the weblogic server.
# JAVA_OPTIONS - Java command-line options for running the server. (These
# will be tagged on to the end of the JAVA_VM and
# MEM_ARGS)
# CLASS_CACHE - Enable class caching of system classpath.
#
# For additional information, refer to "Managing Server Startup and Shutdown for Oracle WebLogic Server"
# (http://download.oracle.com/docs/cd/E17904_01/web.1111/e13708/overview.htm).
# *************************************************************************
umask 037
# Call setDomainEnv here.
DOMAIN_HOME="/weblogic/domains/m3oapp"
if [ "X${SERVER_NAME}" = "X" ] ; then
SERVER_NAME="Admin_app"
fi
CURRENTUSER=`whoami`
if [ "$CURRENTUSER" = "root" ] ; then
echo "Don't use root to start weblogic!!!"
exit 0
fi
umask 022
LOG_PATH="$DOMAIN_HOME/logs"
WLS_REDIRECT_LOG="$LOG_PATH/weblogic.${SERVER_NAME}.$$.log"
USER_MEM_ARGS="-d64 -Xms5120m -Xmx5120m -Xmn1024m -XX:PermSize=1024m -XX:MaxPermSize=1024m "
JMX_OPTIONS=" -Dcom.sun.management.jmxremote.port=7401 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
LOG_OPTIONS="-Xloggc:$LOG_PATH/gc.$$.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:HeapDumpPath=$LOG_PATH/heapdump.$$.hprof -XX:ErrorFile=$LOG_PATH/hs_err_pid.$$.log"
GC_OPTIONS="-XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60 -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:MaxTenuringThreshold=18 -XX:SurvivorRatio=8 -XX:ParallelGCThreads=16 -XX:+HeapDumpOnOutOfMemoryError"
APP_OPTIONS=" -Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true "
JAVA_OPTIONS=" -d64 $JMX_OPTIONS $LOG_OPTIONS $GC_OPTIONS $APP_OPTIONS -Dweblogic.threadpool.MinPoolSize=100 -Dweblogic.threadpool.MaxPoolSize=1000 -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -Dweblogic.data.canTransferAnyFile=true -Djava.net.preferIPv4Stack=true -Dweblogic.wsee.wstx.wsat.deployed=false"
. ${DOMAIN_HOME}/bin/setDomainEnv.sh $*
SAVE_JAVA_OPTIONS="${JAVA_OPTIONS}"
SAVE_CLASSPATH="${CLASSPATH}"
# Start Derby
DERBY_DEBUG_LEVEL="0"
if [ "${DERBY_FLAG}" = "true" ] ; then
${WL_HOME}/common/derby/bin/startNetworkServer.sh >"${DOMAIN_HOME}/derby.log" 2>&1
fi
JAVA_OPTIONS="${SAVE_JAVA_OPTIONS}"
SAVE_JAVA_OPTIONS=""
CLASSPATH="${SAVE_CLASSPATH}"
SAVE_CLASSPATH=""
trap 'stopAll' 1 2 3 15
if [ "${PRODUCTION_MODE}" = "true" ] ; then
WLS_DISPLAY_MODE="Production"
else
WLS_DISPLAY_MODE="Development"
fi
if [ "${WLS_USER}" != "" ] ; then
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.management.username=${WLS_USER}"
fi
if [ "${WLS_PW}" != "" ] ; then
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.management.password=${WLS_PW}"
fi
if [ "${MEDREC_WEBLOGIC_CLASSPATH}" != "" ] ; then
if [ "${CLASSPATH}" != "" ] ; then
CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}"
else
CLASSPATH="${MEDREC_WEBLOGIC_CLASSPATH}"
fi
fi
echo "."
echo "."
echo "JAVA Memory arguments: ${MEM_ARGS}"
echo "."
echo "WLS Start Mode=${WLS_DISPLAY_MODE}"
echo "."
echo "CLASSPATH=${CLASSPATH}"
echo "."
echo "PATH=${PATH}"
echo "."
echo "***************************************************"
echo "* To start WebLogic Server, use a username and *"
echo "* password assigned to an admin-level user. For *"
echo "* server administration, use the WebLogic Server *"
echo "* console at http://hostname:port/console *"
echo "***************************************************"
# CLASS CACHING
if [ "${CLASS_CACHE}" = "true" ] ; then
classCaching
fi
# START WEBLOGIC
echo "starting weblogic with Java version:"
${JAVA_HOME}/bin/java ${JAVA_VM} -version
if [ "${WLS_REDIRECT_LOG}" = "" ] ; then
echo "Starting WLS with line:"
echo "${JAVA_HOME}/bin/java -Dweblogic.Name=${SERVER_NAME} ${JAVA_VM} ${MEM_ARGS} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}"
${JAVA_HOME}/bin/java -Dweblogic.Name=${SERVER_NAME} ${JAVA_VM} ${MEM_ARGS} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}
else
echo "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}"
${JAVA_HOME}/bin/java -Dweblogic.Name=${SERVER_NAME} ${JAVA_VM} ${MEM_ARGS} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS} >"${WLS_REDIRECT_LOG}" 2>&1
fi
stopAll
popd
# Exit this script only if we have been told to exit.
if [ "${doExitFlag}" = "true" ] ; then
exit
fi
# WARNING: This file is created by the Configuration Wizard.
# Any changes to this script may be lost when adding extensions to this configuration.
# --- Start Functions ---
stopAll()
{
# We separate the stop commands into a function so we are able to use the trap command in Unix (calling a function) to stop these services
if [ "X${ALREADY_STOPPED}" != "X" ] ; then
exit
fi
# STOP DERBY (only if we started it)
if [ "${DERBY_FLAG}" = "true" ] ; then
echo "Stopping Derby server..."
${WL_HOME}/common/derby/bin/stopNetworkServer.sh >"${DOMAIN_HOME}/derbyShutdown.log" 2>&1
echo "Derby server stopped."
fi
ALREADY_STOPPED="true"
}
classCaching()
{
echo "Class caching enabled..."
JAVA_OPTIONS="${JAVA_OPTIONS} -Dlaunch.main.class=${SERVER_CLASS} -Dlaunch.class.path="${CLASSPATH}" -Dlaunch.complete=weblogic.store.internal.LockManagerImpl -cp ${WL_HOME}/server/lib/pcl2.jar"
export JAVA_OPTIONS
SERVER_CLASS="com.oracle.classloader.launch.Launcher"
}
# --- End Functions ---
# *************************************************************************
# This script is used to start WebLogic Server for this domain.
#
# To create your own start script for your domain, you can initialize the
# environment by calling @USERDOMAINHOME/setDomainEnv.
#
# setDomainEnv initializes or calls commEnv to initialize the following variables:
#
# BEA_HOME - The BEA home directory of your WebLogic installation.
# JAVA_HOME - Location of the version of Java used to start WebLogic
# Server.
# JAVA_VENDOR - Vendor of the JVM (i.e. BEA, HP, IBM, Sun, etc.)
# PATH - JDK and WebLogic directories are added to system path.
# WEBLOGIC_CLASSPATH
# - Classpath needed to start WebLogic Server.
# PATCH_CLASSPATH - Classpath used for patches
# PATCH_LIBPATH - Library path used for patches
# PATCH_PATH - Path used for patches
# WEBLOGIC_EXTENSION_DIRS - Extension dirs for WebLogic classpath patch
# JAVA_VM - The java arg specifying the VM to run. (i.e.
# - server, -hotspot, etc.)
# USER_MEM_ARGS - The variable to override the standard memory arguments
# passed to java.
# PRODUCTION_MODE - The variable that determines whether Weblogic Server is started in production mode.
# DERBY_HOME - Derby home directory.
# DERBY_CLASSPATH
# - Classpath needed to start Derby.
#
# Other variables used in this script include:
# SERVER_NAME - Name of the weblogic server.
# JAVA_OPTIONS - Java command-line options for running the server. (These
# will be tagged on to the end of the JAVA_VM and
# MEM_ARGS)
# CLASS_CACHE - Enable class caching of system classpath.
#
# For additional information, refer to "Managing Server Startup and Shutdown for Oracle WebLogic Server"
# (http://download.oracle.com/docs/cd/E17904_01/web.1111/e13708/overview.htm).
# *************************************************************************
umask 037
# Call setDomainEnv here.
DOMAIN_HOME="/weblogic/domains/m3oapp"
if [ "X${SERVER_NAME}" = "X" ] ; then
SERVER_NAME="Admin_app"
fi
CURRENTUSER=`whoami`
if [ "$CURRENTUSER" = "root" ] ; then
echo "Don't use root to start weblogic!!!"
exit 0
fi
umask 022
LOG_PATH="$DOMAIN_HOME/logs"
WLS_REDIRECT_LOG="$LOG_PATH/weblogic.${SERVER_NAME}.$$.log"
USER_MEM_ARGS="-d64 -Xms5120m -Xmx5120m -Xmn1024m -XX:PermSize=1024m -XX:MaxPermSize=1024m "
JMX_OPTIONS=" -Dcom.sun.management.jmxremote.port=7401 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
LOG_OPTIONS="-Xloggc:$LOG_PATH/gc.$$.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:HeapDumpPath=$LOG_PATH/heapdump.$$.hprof -XX:ErrorFile=$LOG_PATH/hs_err_pid.$$.log"
GC_OPTIONS="-XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60 -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:MaxTenuringThreshold=18 -XX:SurvivorRatio=8 -XX:ParallelGCThreads=16 -XX:+HeapDumpOnOutOfMemoryError"
APP_OPTIONS=" -Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true "
JAVA_OPTIONS=" -d64 $JMX_OPTIONS $LOG_OPTIONS $GC_OPTIONS $APP_OPTIONS -Dweblogic.threadpool.MinPoolSize=100 -Dweblogic.threadpool.MaxPoolSize=1000 -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -Dweblogic.data.canTransferAnyFile=true -Djava.net.preferIPv4Stack=true -Dweblogic.wsee.wstx.wsat.deployed=false"
. ${DOMAIN_HOME}/bin/setDomainEnv.sh $*
SAVE_JAVA_OPTIONS="${JAVA_OPTIONS}"
SAVE_CLASSPATH="${CLASSPATH}"
# Start Derby
DERBY_DEBUG_LEVEL="0"
if [ "${DERBY_FLAG}" = "true" ] ; then
${WL_HOME}/common/derby/bin/startNetworkServer.sh >"${DOMAIN_HOME}/derby.log" 2>&1
fi
JAVA_OPTIONS="${SAVE_JAVA_OPTIONS}"
SAVE_JAVA_OPTIONS=""
CLASSPATH="${SAVE_CLASSPATH}"
SAVE_CLASSPATH=""
trap 'stopAll' 1 2 3 15
if [ "${PRODUCTION_MODE}" = "true" ] ; then
WLS_DISPLAY_MODE="Production"
else
WLS_DISPLAY_MODE="Development"
fi
if [ "${WLS_USER}" != "" ] ; then
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.management.username=${WLS_USER}"
fi
if [ "${WLS_PW}" != "" ] ; then
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.management.password=${WLS_PW}"
fi
if [ "${MEDREC_WEBLOGIC_CLASSPATH}" != "" ] ; then
if [ "${CLASSPATH}" != "" ] ; then
CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}"
else
CLASSPATH="${MEDREC_WEBLOGIC_CLASSPATH}"
fi
fi
echo "."
echo "."
echo "JAVA Memory arguments: ${MEM_ARGS}"
echo "."
echo "WLS Start Mode=${WLS_DISPLAY_MODE}"
echo "."
echo "CLASSPATH=${CLASSPATH}"
echo "."
echo "PATH=${PATH}"
echo "."
echo "***************************************************"
echo "* To start WebLogic Server, use a username and *"
echo "* password assigned to an admin-level user. For *"
echo "* server administration, use the WebLogic Server *"
echo "* console at http://hostname:port/console *"
echo "***************************************************"
# CLASS CACHING
if [ "${CLASS_CACHE}" = "true" ] ; then
classCaching
fi
# START WEBLOGIC
echo "starting weblogic with Java version:"
${JAVA_HOME}/bin/java ${JAVA_VM} -version
if [ "${WLS_REDIRECT_LOG}" = "" ] ; then
echo "Starting WLS with line:"
echo "${JAVA_HOME}/bin/java -Dweblogic.Name=${SERVER_NAME} ${JAVA_VM} ${MEM_ARGS} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}"
${JAVA_HOME}/bin/java -Dweblogic.Name=${SERVER_NAME} ${JAVA_VM} ${MEM_ARGS} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}
else
echo "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}"
${JAVA_HOME}/bin/java -Dweblogic.Name=${SERVER_NAME} ${JAVA_VM} ${MEM_ARGS} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS} >"${WLS_REDIRECT_LOG}" 2>&1
fi
stopAll
popd
# Exit this script only if we have been told to exit.
if [ "${doExitFlag}" = "true" ] ; then
exit
fi
0 0
- 如何生成 hprof文件 + weblogic启动文件配置
- [Android]生成heap dump文件(.hprof)
- Android.hprof 文件转换
- weblogic启动文件的说明
- weblogic启动文件的说明
- hprof文件中导出图片
- AndroidStudio里查看hprof文件
- 如何配置ADS1.2,生成.bin文件!
- weblogic 参数设置、创建soa_server1启动文件
- Linux下weblogic文件启动上锁
- 保留jsp生成servlet后的.java文件的weblogic.xml配置
- 如何在weblogic启动时让其加载指定的jar库文件
- 如何在weblogic启动时让其加载指定的jar库文件
- 如何在weblogic启动时让其加载指定的jar库文件
- 如何在weblogic启动时让其加载指定的jar库文件
- weblogic中,如何保留编译jsp生成的中间文件,以及会放在哪个目录?
- weblogic文件
- weblogic开发中weblogic.xml文件的配置
- Cnskype for business办公软件对公司管理的作用
- autolayout框架篇(ZXPAutoLayout)
- ZBarReaderView之设置扫描区域计算
- JSTL <C:if></C:if> 和<C:ForEach></C:ForEach> 入门级~
- poj1258Agri-Net(最小生成树)
- 如何生成 hprof文件 + weblogic启动文件配置
- 客户端的IP地址伪造、CDN、反向代理、获取的那些事儿
- RSA算法原理(二)
- Erasure Coding技术在Hadoop中的实现
- 本鲨单实列日常巡检脚本涉及部分DG 代码超长.
- onNewIntent调用时机
- 把rpm package 安装到ubuntu上
- iPhone ZBar库 中文乱码解决方法--重新编译libzbar.a
- List集合去重复