web-dev-qa-db-ja.com

Tomcat-現在使用中のメモリ設定を確認する方法

Server 2008とIIS 7.を使用してTomcatサーバーをセットアップしました。
Java_OPTS環境変数が実際に使用されているかどうかを確認するにはどうすればよいですか?

以前に、Java_OPTS環境変数を使用するためにservice.batファイルを編集する必要があると聞きましたが、それが成功したかどうかはどうすればわかりますか?

ログでこれを表示する方法があるかどうか、またはより定量的なものがあるかどうかを確認できませんでした。それをテストするために私が考えることができる唯一の方法は、変数を編集して、パフォーマンスに違いがあるかどうかを確認することです。 Java_OPTSを次のように設定しました。

-server -Xmx1k -Xms1k-Xmn1k -Xss128k -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:PermSize=1k -XX:MaxPermSize=1k  

また、service.batの次の行を次のように変更するように指示しているドキュメントを見つけました。

"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.Apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 256

に:

"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.Apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" %Java_OPTS%

コマンドを実行してもエラーは発生しませんでした

service install ServiceName

これまでのところ、メモリ設定を変更してサービスを再インストールする前は、すべてがいつものように高速で実行されているようで、Java_OPTSは何にも影響を与えていないと思います。

これが幅広い種類の質問である場合は申し訳ありませんが、実際にバックエンドで何が起こっているのかについて、まだ十分なリードを見つけることができていません。誰かがこれに光を当てることができますか?

7
OrangeGrover

申し訳ありませんが、探していた情報が見つかったので、詳細を説明するので回答を受け入れますが、リードはDavid Levesqueに+1します。

設定しようとしたメモリ設定が使用されていないことがわかりました。メモリ設定を変更するために、\ binフォルダーにあるTomcat7wを使用しました。

次のコマンドを実行します。

Tomcat7w //ES//<ServiceName>

次に、以下がポップアップします。

Java Service Manager

下線が引かれたJavaタブをクリックし、強調表示された領域に引数を追加します。


これを確認するために、jinfo実行可能ファイル(\ binフォルダー内)を使用しました。 Jinfoは、Java特定のJavaプロセスの構成情報を出力します。次の構文を使用してこのコマンドを実行します。

jinfo -flags PID-of-Tomcat-executable

次の小さなスクリプトにより、TomcatのPIDを毎回確認する必要がなくなり、ここに投稿した方がよいと思いました。

@echo off
for /f "tokens=1,2 delims= " %%i in ('=tasklist ^| findstr "Tomcat"') do (
    echo Tomcat Executable = %%i
    echo Tomcat Process ID = %%j
    set Tomcat_pid=%%j
)
echo %Tomcat_pid%
%Java_HOME%\bin\jinfo -flags %Tomcat_pid%
7
OrangeGrover

JDKに付属のjinfoユーティリティを使用して、実行時にVMフラグとシステムプロパティを照会できます。

5
David Levesque