- PR -

tomcat5 gcの出力先について

1
投稿者投稿内容
たかすぃ
会議室デビュー日: 2003/06/05
投稿数: 14
投稿日時: 2005-03-15 14:54
tomcat5でgcを出力するようにしたいのですがうまくいきません。
環境は
OS:RedHatLinux WS
tomcat:5.0.28
jdk:1.4.2_04
で、起動は /etc/rc.d/init.d/tomcat start でしています。
その時
export CATALINA_OPTS="-server -verbose:gc -Xms512m -Xmx512m -Xss256k" 
をオプションに指定しています。
tomcat起動のログやexceptionはcatalina.outに出力されています。
同じ指定で、eclipseで起動すると、コンソール上にgcが出力されます。
tomcat5では何か他に設定が必要なのでしょうか?
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-03-16 00:01
verbose:gc オプションは標準出力に gc 状況を出力するためのものです。
「うまくいきません」とのことですが、「catalina.outに出力」「コンソール上にgcが出力」とそれぞれ標準出力相当の場所に出ているようですので「うまくいっている」ように見受けられます。
どこに出力させたいのでしょうか?
たかすぃ
会議室デビュー日: 2003/06/05
投稿数: 14
投稿日時: 2005-03-16 00:32
返信ありがとうございます。
てっきり、catalina.outに出力される物と思っておりました。
その後、-Xloggc:ログファイル名 を指定すると、
指定のファイルに出力されるとの事で、
export CATALINA_OPTS="-server -verbose:gc -Xloggc:gc.log -Xms512m -Xmx512m -Xss256k"
としてみましたが、gc.log には出力されませんでした。
(まれに0バイトのファイルができるときがあります。)
gc.logが先にできてないとだめなのかと思い、
/usr/local/tomcat/logs/gc.log を作成し
ファイルのパーミッションを777にしても、
出力されませんでした。

他に何か設定が必要なのでしょうか?
しびら
会議室デビュー日: 2005/02/16
投稿数: 4
投稿日時: 2005-03-16 14:33
私は、
export CATALINA_OPTS="-server -Xmx640M -Xms640M -Xss256k -Djava.awt.headless=true"
export JAVA_OPTS="-XX:+PrintGCDetails -Xloggc:/usr/java/Tomcat5/logs/gc.txt"
のように設定して、gc.txtに出力されています。
たかすぃ
会議室デビュー日: 2003/06/05
投稿数: 14
投稿日時: 2005-03-16 17:05
返信ありがとうございます。

以下のように設定しましたが、0バイトのファイルが出来るだけでした。

/etc/rc.d/init.d/tomcat

#!/bin/sh
#Startup script for Tomcat,the Apache Servlet Engine
#Source function library.
. /etc/rc.d/init.d/functions
#pidfile: /var/run/tomcat.pid

export PATH=$PATH:/usr/java/jdk/bin:/usr/java/jdk/jre/bin
export JAVA_HOME=/usr/java/jdk
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_OPTS="-server -Xms256 -Xmx256m -Xss256k"
export JAVA_OPTS="-Xloggc:/usr/local/tomcat/logs/gc.txt"

#See how we were called.
case "$1" in
start)
echo -n "Starting tomcat:"
daemon --user tomcat ${CATALINA_HOME}/bin/startup.sh
echo
touch /var/lock/subsys/tomcat
;;
stop)
echo -n "Shutting down tomcat:"
daemon ${CATALINA_HOME}/bin/shutdown.sh
echo
rm -f /var/lock/subsys/tomcat
rm -f /var/run/tomcat.pid
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo "Usage:$0{start|stop|restart}"
exit 1
esac

exit 0
しびら
会議室デビュー日: 2005/02/16
投稿数: 4
投稿日時: 2005-03-16 18:10
ちなみに私の場合、linuxにtomcatユーザーを作成し
/home/tomcat/.bash_profileに以下を書きました。

export CATALINA_OPTS="-server -Xmx640M -Xms640M -Xss256k -Djava.awt.headless=true"
export JAVA_OPTS="-XX:+PrintGCDetails -Xloggc:/usr/java/Tomcat5/logs/gc.txt"

で、envで設定を確認後、tomcatを起動し、ログが作成されています。
#関係ないかな。
たかすぃ
会議室デビュー日: 2003/06/05
投稿数: 14
投稿日時: 2005-03-16 19:48
/etc/rc.d/init.d/tomcat ではなく 
${CATALINA_HOME}/bin/startup.sh に以下を追加したら
export CATALINA_OPTS="-server -Xms256m -Xmx256m -Xss256k"
export JAVA_OPTS="-Xloggc:/usr/local/tomcat/logs/gc.txt"
ログに出力されました。

しびら様、インギ様ありがとうございました。

${CATALINA_HOME}/bin/startup.shを呼ぶ時に、
daemon --user tomcat ${CATALINA_HOME}/bin/startup.sh
として、ユーザを変えていたから反映されなかったみたいです。
でも、/etc/rc.d/init.d/tomcatに追加したときも
topで見たときは、javaが110M使われていたので
反映されていると思ったのですが。
それとも、CATALINA_OPTSだけは反映されてたのでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)