0

私がやりたいのは、クォーツの力を jvmti と組み合わせることです。基本的に、私の計画は、jvmti を使用してメモリ使用量を監視し、それに基づいて、Quartz を使用して優先度に応じて que でプロセスを起動/実行することです。各プロセスを this-process-will-execute-this-amount-of-timeslice アプローチで実行して、応答しないことを防ぎ、Web 要求などのすべての着信 Java プロセスを処理できるようにしたいと考えています。

このトピックのチュートリアルはどこにも見つかりませんでした (見つけることができる最小限のものがありますが、私のような初心者には十分ではありません)。これは、C プログラミングと Java プログラミングの組み合わせです。私が現在持っているのは、c/c++ プラグインを備えた netbeans ide ですが、mingw のインストールはまだ完了していませんが、これと orasun の jvmti の参考資料を処理できると思います。

何をすべきか教えてもらえますか?ツール?参考資料?見て/チェックアウトできる既存の同様のプロジェクトはありますか? 私はこれをスピードアップしたいだけで、ここに誰かがこのような経験をしているなら、彼女/彼の経験を共有したいと思います.

乾杯!

4

1 に答える 1

2

jvmti エージェントを作成する旅を続けていると、次の問題にぶつかりました。

java -agentpath:c:\path\to\agentlibdll\agentlib.dll javaclass を使用してエージェントを実行すると

プロンプトには「Agent_OnLoad が見つかりません」と表示されます。私は手がかりを探して(私はいつもそうしています)、一緒にリンクする必要がある情報を見つけました。結果は、エージェントdllの構築時に存在する必要があるパラメーターです(私はWindows OS、netbeans IDE、mingw、msysを使用しています)

私はこの行を追加する必要があります:

-D_JNI_IMPLEMENTATION_ -g -fno-strict-aliasing -fno-omit-frame-pointer -W -Wall -Wno-unused -Wno-parentheses -I. -共有

プロジェクトのプロパティ (右クリック) > ビルド > c および c++ コンパイラ > 追加オプション

私のコマンドラインは次のようになります:

gcc -D_JNI_IMPLEMENTATION_ -g -fno-strict-aliasing -fno-omit-frame-pointer -W -Wall -Wno-unused -Wno-parentheses -I. -shared -shared -o dist/Debug/MinGW-Windows/libjvmticallbackc.dll build/Debug/MinGW-Windows/jvmticallbackc.o -L../../jdk.1.7.0/lib -ljawt -ljvm

私が見つけたものを共有すべきだと思っただけです。

于 2011-12-22T01:48:23.453 に答える