I have searched these forums and haven't found anything to help me with my problem. I am installing TOMCAT 5.5.26 on my mainframe. I am using IBM 64-bit SDK verion 6.0 as my java environment. When I try to start TOMCAT as a batch job, the job uses large amounts of CPU and SIO, but never does anything. I eventually have to cancel my job when auxillary storage is used up, which can take 15 minutes. I have included my JCL and the output from the SYSOUT. Would appreciate any input to help me solve this problem.
JCL:
//TSP679TC JOB (679SPT000000000),
// 'D.FRAME',
// CLASS=S,
// MSGCLASS=X,
// NOTIFY=TSP679
/*JOBPARM ROOM=FRAM
//*
//*********************************************************************
//*
//* Batch job to run Tomcat under JZOS
//*
//* Tailor the proc and job for your installation:
//* 1.) Modify the Job card per your installation's requirements
//* 2.) Modify the PROCLIB card to point to JZOS proclib
//* 3.) Set VERSION='14' for Java 1.4 or VERSION='50' for Java 5
//* 4.) Set JAVA_HOME to point the location of the Java SDK
//* 5.) Set CATALINA_HOME to point to the shared Tomcat install dir
//* 6.) (Optional) set CATALINA_BASE to point to instance specific
//* Tomcat base dir
//*
//*********************************************************************
//*
//TOMCAT EXEC PROC=JVMPRC66,VERSION='66',
// LOGLVL='+D',
// JAVACLS='org.apache.catalina.startup.Bootstrap',
// ARGS='start'
//STDENV DD *
# This is a shell script which configures
# any environment variables for the Java JVM.
# Variables must be exported to be seen by the launcher.
. /etc/profile
export JAVA_HOME=/usr/lpp/java/J6.0_64
CATALINA_HOME=/usr/lpp/apache/apache-tomcat-5.5.26
CATALINA_BASE=${CATALINA_HOME}
export PATH=/bin:"${JAVA_HOME}"/bin:
LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
LIBPATH="$LIBPATH":"${JAVA_HOME}"/bin/classic
export LIBPATH="$LIBPATH":
CLASSPATH="${JAVA_HOME}/lib/tools.jar"
CLASSPATH="$CLASSPATH":"${CATALINA_HOME}/bin/bootstrap.jar"
CLASSPATH="$CLASSPATH":"${CATALINA_HOME}/bin/commons-logging-api-1.1.1.jar"
export CLASSPATH="$CLASSPATH":
# Set JZOS specific options
# Use this variable to specify encoding for DD STDOUT and STDERR
#export JZOS_OUTPUT_ENCODING=IBM-1047
# Use this variable to prevent JZOS from handling MVS operator commands
#export JZOS_ENABLE_MVS_COMMANDS=false
# Use this variable to supply additional arguments to main
#export JZOS_MAIN_ARGS=""
# Configure JVM options
# Note that Tomcat requires default ASCII file.encoding
IJO="-Xms64m -Xmx128m"
IJO="$IJO -Dfile.encoding=ISO8859-1"
IJO="$IJO -Dcatalina.base=${CATALINA_BASE}"
IJO="$IJO -Dcatalina.home=${CATALINA_HOME}"
IJO="$IJO -Djava.io.tmpdir=${CATALINA_BASE}/temp"
IJO="$IJO -Djava.endorsed.dirs="
IJO="${IJO}${CATALINA_HOME}/common/endorsed"
# Configure SDK5.0 to use shared classes (at group level)
# You must comment this out if you are not running SDK 5
groupname=`id -gn`
#IJO="$IJO -Xshareclasses:name=$groupname,groupAccess"
export IBM_JAVA_OPTIONS="$IJO "
#
export JAVA_DUMP_HEAP=false
export JAVA_PROPAGATE=NO
export IBM_JAVA_ZOS_TDUMP=NO
//
SYSOUT output:
JVMJZBL2004N Log level has been set to: D
JVMJZBL1001N JZOS batch Launcher Version: 2.2.1 2008-03-19
JVMJZBL1002N Copyright (C) IBM Corp. 2005. All rights reserved.
JVMJZBL1028I Region requested = 0K, Actual below/above limit = 9M / 1664M, MEMLIMIT=17592186040320M
JVMJZBL1053I OS Release R18.00 Machine 2064
JVMJZBL1036D Spawned child shell process with PID: 67109425
JVMJZBL1005I Output from DD:STDENV config shell script:
JVMJZBL1006I _CXX_LIBDIRS = /lib /usr/lib
JVMJZBL1006I MAIL = /usr/mail/
JVMJZBL1006I JAVA_PROPAGATE = NO
JVMJZBL1006I PATH = /bin:/usr/lpp/java/J6.0_64/bin:
JVMJZBL1006I _CXX_WORK_UNIT = SYSDA
JVMJZBL1006I _CXX_INCDIRS = /usr/include /usr/lpp/cbclib/include
JVMJZBL1006I _C89_OPTIONS = MIN
JVMJZBL1006I IBM_JAVA_ZOS_TDUMP = NO
JVMJZBL1006I _CC_LIBDIRS = /lib /usr/lib
JVMJZBL1006I _C89_SLIB_PREFIX = SYS1
JVMJZBL1006I IBM_JAVA_OPTIONS = -Xms64m -Xmx128m -Dfile.encoding=ISO8859-1 -Dcatalina.base=/usr/lpp/apache/apache-tomcat-5.5.26 -Dca
talina.home=/usr/lpp/apache/apache-tomcat-5.5.26 -Djava.io.tmpdir=/usr/lpp/apache/apache-tomcat-5.5.26/temp -Djava.endorsed.dirs=/us
r/lpp/apache/apache-tomcat-5.5.26/common/endorsed
JVMJZBL1006I _C89_CLIB_PREFIX = CBC
JVMJZBL1006I _CXX_PLIB_PREFIX = CEE
JVMJZBL1006I _CC_WORK_UNIT = SYSDA
JVMJZBL1006I _CC_INCDIRS = /usr/include /usr/lpp/cbclib/include
JVMJZBL1006I _CC_PLIB_PREFIX = CEE
JVMJZBL1006I _BPX_SPAWN_SCRIPT = YES
JVMJZBL1006I _ = /bin/env
JVMJZBL1006I CLASSPATH = /usr/lpp/java/J6.0_64/lib/tools.jar:/usr/lpp/apache/apache-tomcat-5.5.26/bin/bootstrap.jar:/usr/lpp/apache/
apache-tomcat-5.5.26/bin/commons-logging-api-1.1.1.jar:
JVMJZBL1006I LANG = C
JVMJZBL1006I _CXX_OPTIONS = MIN
JVMJZBL1006I LIBPATH = /lib:/usr/lib:/usr/lpp/java/J6.0_64/bin:/usr/lpp/java/J6.0_64/bin/classic:
JVMJZBL1006I _CXX_SLIB_PREFIX = SYS1
JVMJZBL1006I _CXX_CLIB_PREFIX = CBC
JVMJZBL1006I _C89_LIBDIRS = /lib /usr/lib
JVMJZBL1006I _CC_OPTIONS = MIN
JVMJZBL1006I _BPX_SHAREAS = YES
JVMJZBL1006I _C89_WORK_UNIT = SYSDA
JVMJZBL1006I _C89_INCDIRS = /usr/include /usr/lpp/cbclib/include
JVMJZBL1006I _CC_SLIB_PREFIX = SYS1
JVMJZBL1006I _CC_CLIB_PREFIX = CBC
JVMJZBL1006I JAVA_DUMP_HEAP = false
JVMJZBL1006I _C89_PLIB_PREFIX = CEE
JVMJZBL1006I JAVA_HOME = /usr/lpp/java/J6.0_64
JVMJZBL1006I TZ = EST5EDT
JVMJZBL1006I MANPATH = /usr/man/%L
JVMJZBL1006I NLSPATH = /usr/lib/nls/msg/%L/%N
JVMJZBL1006I PWD = /u/tsp679
JVMJZBL1008D ___JZOS_ENV_STOP___
Thanks,
Dave
TOMCAT won't start
Looks like I solved my problem.
I replaced my LIBPATH statements from:
LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
LIBPATH="$LIBPATH":"${JAVA_HOME}"/bin/classic
export LIBPATH="$LIBPATH":
to:
LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/s390x
LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/s390x/j9vm
LIBPATH="$LIBPATH":"${JAVA_HOME}"/bin/classic
export LIBPATH="$LIBPATH":
TOMCAT is now up and running and the sample pages are visible.
Dave
I replaced my LIBPATH statements from:
LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
LIBPATH="$LIBPATH":"${JAVA_HOME}"/bin/classic
export LIBPATH="$LIBPATH":
to:
LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/s390x
LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/s390x/j9vm
LIBPATH="$LIBPATH":"${JAVA_HOME}"/bin/classic
export LIBPATH="$LIBPATH":
TOMCAT is now up and running and the sample pages are visible.
Dave
Thanks for reporting this. We need to update our sample JCL since SDK6 (unfortunately) changed where its libraries are.
Another thing that you might consider is trying the 31-bit JVM. If you don't need a heap over 1.25 GB (you've set your max to 128M) then you don't need a 64 bit JVM, and in fact you will find that the 31 bit JVM performs better than the 64 bit JVM and uses less system resources.
Another thing that you might consider is trying the 31-bit JVM. If you don't need a heap over 1.25 GB (you've set your max to 128M) then you don't need a 64 bit JVM, and in fact you will find that the 31 bit JVM performs better than the 64 bit JVM and uses less system resources.