質問

私は、生産のWebLogic(10)インスタンス上jmapはJDK1.5ツールを使用してヒープ・ダンプを行うことを計画しています。

実はこのWebLogicインスタンスにデプロイ3 EAR(おそらくより、本当に私がアクセスを持っていないかわからないが)がある。

誰かが、「WebLogicは、各EARのためのJVMを作成する」私に言いました できる人確認これを?

私は、ヒープ・ダンプを行うためのパラメータとしてJVMのPIDを必要とするjmapのでは

... 私は3 EARを持っているので、私はPID対応してEAR JVMを知っているか疑問ので、私は3 PIDを持っていると思いますか?

役に立ちましたか?

解決

いや - 各WebLogic Server(または任意のJavaプロセス)それはそれは自身のPIDだと自身のJVMの中で実行されます。だから、すべてあなたの耳は、同じヒープ・ダンプに表示されます。

あなたが同じマシン上で実行されている複数のWebLogic Serverインスタンスを使用している場合は、

、それぞれが独立したPIDとは別のプロセス

を持っています

他のヒント

@josekが言うように

は、すべてのあなたの耳が同じWebLogicサーバの下にあるので、場合you'lのみダンプに1つのPIDを持って、WebLogicサーバーごとに1つのJVMを持っています。あなただけのps -ef | grep javaような何かを行う場合でも、あなたはPIDの多くを見ることができました(私はこれはUnixであると仮定している?)そう - 多分管理サーバと管理対象サーバー、多分他の無関係の事例 - しかし、あなたはまだ複数のサーバを有することができますあなたは、WebLogicのJDK_HOMEにそれをフィルタリングすることができます。

特定のサーバに属しているPIDを識別するために、

一つの方法は、<domains>/servers/<your server>/tmpディレクトリに移動し、そこに実行fuser -f <your server>.lokにすることです。これは、JVMのJavaプロセスになります一つは、そのサーバに関連するすべてのプロセスのPIDを一覧表示します。 (、より良い方法と私は誰かが別のものを指摘すると確信している!)ちょうどjavaプロセスを見つけるための1つの方法(などJDBCのために他のこともある)のようなものです。

cd <domains>/servers/<your server>/tmp
ps -p "`fuser -f <your server>.lok 2>/dev/null`" | grep java 
各EARは、独自のサーバーにある場合は、

、私はあなたが必要とするかを確認するためのconfig.xmlを見て必要がありますね。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top