JDK1.5.0_17 64位
TOMCAT5.5.27
POOLMAN 1.0
POOLMAN里面设置:初始连接数 400,最小连接数 100
1.
用 startup.sh启动TOMCAT的时候,查看ORACLE session数为 412,没有对应用操作,直接 shutdown.sh 查看ORACLE session 为 12.
用TOP查看没有JDK进程---正常
2. 用 startup.sh启动TOMCAT的时候,查看ORACLE session数为 412,
然后登陆一下应用,后 shutdown.sh关闭TOMCAT 查看ORACLE session 为 412.----这个时候ORACLE 的SESSION未释放。
用TOP查看的时候发现还是有JDK进程。
这个应用程序在WINDOW下的时候没有出现这个问题
各位帮个忙,看一下,哪里出问题了。
4 个解决方案
#1
难道是jdk在两个系统中的关闭机制不一样? 不清楚, 帮顶吧,
#2
是不是退出的时候出了异常了以至于tomcat没有被关闭,可以检查一下catalina.out日志文件。
另外可以用kill -9 [pid] 杀掉tomcat的进程看看ORACLE session是否被释放掉了。
另外可以用kill -9 [pid] 杀掉tomcat的进程看看ORACLE session是否被释放掉了。
#3
tomcat5.5 中的startup.sh 启动方式的一个bug ,经过研究,采用自带的jsvc.tar.gz安装包 重新更改启动模式。
启动文件如下:
#!/bin/sh
#
# Startup Script for Tomcat5
#
# chkconfig: 345 88 14
# description: Tomcat Daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config:
#
# Source function library.
. /etc/rc.d/init.d/functions
#
prog=tomcat
#
JAVA_HOME=/usr/java/jdk1.5.0_17
CATALINA_HOME=/opt/telecom
DAEMON_HOME=/opt/telecom/bin
#TOMCAT_USER=oracle
TOMCAT_USER=oracle
# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/opt/telecom
CATALINA_OPTS=
CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc -user $TOMCAT_USER -home $JAVA_HOME -Dcatalina.home=$CATALINA_HOME -Dcatalina.base=$CATALINA_BASE -Djava.io.tmpdir=$TMP_DIR -wait 10 -pidfile $PID_FILE -outfile $CATALINA_HOME/logs/catalina.out -errfile '&1' $CATALINA_OPTS -cp $CLASSPATH org.apache.catalina.startup.Bootstrap
#
# To get a verbose JVM
#-verbose \
# To get a debug of jsvc.
#-debug \
exit $?
;;
stop)
#
# Stop Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc -stop -pidfile $PID_FILE org.apache.catalina.startup.Bootstrap
exit $?
;;
*)
echo "Usage tomcat.sh start/stop"
exit 1;;
esac
启动文件如下:
#!/bin/sh
#
# Startup Script for Tomcat5
#
# chkconfig: 345 88 14
# description: Tomcat Daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config:
#
# Source function library.
. /etc/rc.d/init.d/functions
#
prog=tomcat
#
JAVA_HOME=/usr/java/jdk1.5.0_17
CATALINA_HOME=/opt/telecom
DAEMON_HOME=/opt/telecom/bin
#TOMCAT_USER=oracle
TOMCAT_USER=oracle
# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/opt/telecom
CATALINA_OPTS=
CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc -user $TOMCAT_USER -home $JAVA_HOME -Dcatalina.home=$CATALINA_HOME -Dcatalina.base=$CATALINA_BASE -Djava.io.tmpdir=$TMP_DIR -wait 10 -pidfile $PID_FILE -outfile $CATALINA_HOME/logs/catalina.out -errfile '&1' $CATALINA_OPTS -cp $CLASSPATH org.apache.catalina.startup.Bootstrap
#
# To get a verbose JVM
#-verbose \
# To get a debug of jsvc.
#-debug \
exit $?
;;
stop)
#
# Stop Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc -stop -pidfile $PID_FILE org.apache.catalina.startup.Bootstrap
exit $?
;;
*)
echo "Usage tomcat.sh start/stop"
exit 1;;
esac
#4
#1
难道是jdk在两个系统中的关闭机制不一样? 不清楚, 帮顶吧,
#2
是不是退出的时候出了异常了以至于tomcat没有被关闭,可以检查一下catalina.out日志文件。
另外可以用kill -9 [pid] 杀掉tomcat的进程看看ORACLE session是否被释放掉了。
另外可以用kill -9 [pid] 杀掉tomcat的进程看看ORACLE session是否被释放掉了。
#3
tomcat5.5 中的startup.sh 启动方式的一个bug ,经过研究,采用自带的jsvc.tar.gz安装包 重新更改启动模式。
启动文件如下:
#!/bin/sh
#
# Startup Script for Tomcat5
#
# chkconfig: 345 88 14
# description: Tomcat Daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config:
#
# Source function library.
. /etc/rc.d/init.d/functions
#
prog=tomcat
#
JAVA_HOME=/usr/java/jdk1.5.0_17
CATALINA_HOME=/opt/telecom
DAEMON_HOME=/opt/telecom/bin
#TOMCAT_USER=oracle
TOMCAT_USER=oracle
# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/opt/telecom
CATALINA_OPTS=
CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc -user $TOMCAT_USER -home $JAVA_HOME -Dcatalina.home=$CATALINA_HOME -Dcatalina.base=$CATALINA_BASE -Djava.io.tmpdir=$TMP_DIR -wait 10 -pidfile $PID_FILE -outfile $CATALINA_HOME/logs/catalina.out -errfile '&1' $CATALINA_OPTS -cp $CLASSPATH org.apache.catalina.startup.Bootstrap
#
# To get a verbose JVM
#-verbose \
# To get a debug of jsvc.
#-debug \
exit $?
;;
stop)
#
# Stop Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc -stop -pidfile $PID_FILE org.apache.catalina.startup.Bootstrap
exit $?
;;
*)
echo "Usage tomcat.sh start/stop"
exit 1;;
esac
启动文件如下:
#!/bin/sh
#
# Startup Script for Tomcat5
#
# chkconfig: 345 88 14
# description: Tomcat Daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config:
#
# Source function library.
. /etc/rc.d/init.d/functions
#
prog=tomcat
#
JAVA_HOME=/usr/java/jdk1.5.0_17
CATALINA_HOME=/opt/telecom
DAEMON_HOME=/opt/telecom/bin
#TOMCAT_USER=oracle
TOMCAT_USER=oracle
# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/opt/telecom
CATALINA_OPTS=
CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc -user $TOMCAT_USER -home $JAVA_HOME -Dcatalina.home=$CATALINA_HOME -Dcatalina.base=$CATALINA_BASE -Djava.io.tmpdir=$TMP_DIR -wait 10 -pidfile $PID_FILE -outfile $CATALINA_HOME/logs/catalina.out -errfile '&1' $CATALINA_OPTS -cp $CLASSPATH org.apache.catalina.startup.Bootstrap
#
# To get a verbose JVM
#-verbose \
# To get a debug of jsvc.
#-debug \
exit $?
;;
stop)
#
# Stop Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc -stop -pidfile $PID_FILE org.apache.catalina.startup.Bootstrap
exit $?
;;
*)
echo "Usage tomcat.sh start/stop"
exit 1;;
esac