- PR -

JVMのヒープ設定について

投稿者投稿内容
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-03-24 10:53
やりたいことはTomcat起動時にjavaのヒープサイズを設定したいと思っております。

調べたところ
環境変数のCATALINA_OPTで「-Xms 1024 -Xmx 1024」を設定すれば設定できるとあったので
やってみたのですが、Runtime().freememory()(?あいまいですいません)を実行したところ
値が反映されていませんでした。

なのでコマンドラインからやってみたしだいであります。

>かつのりさん
 まずは2重書き込みをしてもうしわけありませんでした。
 やりたいことは、かつのりさんのおっしゃるとおりです。
あいつー
ベテラン
会議室デビュー日: 2004/05/20
投稿数: 89
投稿日時: 2005-03-24 11:10
あいつーです。

引用:

金太郎さんの書き込み (2005-03-24 10:53) より:
やりたいことはTomcat起動時にjavaのヒープサイズを設定したいと思っております。

調べたところ
環境変数のCATALINA_OPTで「-Xms 1024 -Xmx 1024」を設定すれば設定できるとあったので
やってみたのですが、Runtime().freememory()(?あいまいですいません)を実行したところ
値が反映されていませんでした。

なのでコマンドラインからやってみたしだいであります。


ちらと調べてみたのですが、
例えばこちらに書いてある中で、「CATALINA_OPT」と言っているのは、
「環境変数」とはいっても、起動スクリプトの中で参照している変数をさしていますよね。
その辺理解が混ざってませんか?
いずれにせよ、起動スクリプトには手を加える必要があります。
#加えないで変更する方法をご存知の方がいらっしゃいましたら突っ込んでください

ちなみに、起動スクリプトを使わずにコマンドラインでTomcatを起動するのは、
なかなか骨が折れる作業だと思いますよw

[編集]
タグ間違いを修正。
どうして投稿の編集にはプレビューが無いのでしょうか・・・orz
[/編集]

[ メッセージ編集済み 編集者: あいつー 編集日時 2005-03-24 11:24 ]
ちいにぃ
大ベテラン
会議室デビュー日: 2002/05/28
投稿数: 244
投稿日時: 2005-03-24 11:40
>いずれにせよ、起動スクリプトには手を加える必要があります。
>#加えないで変更する方法をご存知の方がいらっしゃいましたら突っ込んでください

試してませんが、
Tomcatの割と最近のバージョン (少なくとも2003年10月以後)だと、
setenv.sh (UNIX), setenv.bat (Windows) を用意すると、それを読み込んでくれます
ので、これでできるかと思います。

http://www.itmedia.co.jp/enterprise/0308/24/epn03_6.html

# 以下の話題で起動スクリプトを調べたときに見つけました。
# http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6996&forum=12&start=16
# Tomcatのドキュメントにも書いてあるのかもしれませんが、このごろ使っていない
# ので、探してません。
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2005-03-24 11:45
なんか試してるパターンがごちゃごちゃになってきている?

ケース1.CATALINA_OPTで設定する場合(※個人的にこれで指定可能かは知らない)
 【誤】
   -Xms 1024 -Xmx 1024

 【正】
   -Xms1024m -Xmx1024m

ケース2.スクリプトを修正
 【誤】
   java -Xms1024m -Xmx1024m ... (コマンドライン)

 【正】
   %CATALINA_HOME%/bin/にあるstartup.batあたりのスクリプト中に
   あるTomcat起動コマンドに「-Xms1024m -Xmx1024m」を追加
   # windowsでtomcat5.xとかだコンフィグツールでGUI設定可能

ということでは。

[ メッセージ編集済み 編集者: (株)ぽち 編集日時 2005-03-24 11:47 ]
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-03-24 12:20
皆様 ご返答ありがとうございます。
早速、アドバイスのことをやってみましたが、失敗してしまいます。。。

%CATALINA_HOME%/bin直下にsetenv.batを作成し
ファイル内に

set CATALINA_OPTS=-Xms256M -Xmx256M

のみ記述したのですが、 Runtime.getRuntime().totalMemory()は
11MBと表示されます。

ちなみにtomcat verは4.1.30です。

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-03-24 13:05
その setenv.bat はどこから呼び出されているのでしょうか?
起動スクリプト内で適切に呼び出していますか?
またどこかで値がオーバーライドされていませんか?
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-03-24 13:30
setenv.batファイルですが、以下のファイルの以下の行で
読み込みを行っているようです。。。

特にオーバーライドもしていないようですが、、、。

Apache Group\tomcat\bin\tool-wrapper.bat(34):内の

if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-03-24 14:07
各バッチファイルの先頭の@echo offを削除して
コマンドラインから実行を行い、
どういうシーケンスで起動が行われているか確認してみてください。
どういうオプションで起動されるかを確認できると思います。

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