Quality Outreach Heads-up – JDK 24: Remote Debugging with jstat and jhsdb Is Deprecated for Removal

原文はこちら。
This article was written by Nicolai Parlog (Java Developer Advocate at Oracle).
https://inside.java/2025/01/31/quality-heads-up/

OpenJDK Quality Groupは、リリースの全体的な品質向上の手段としてOpenJDKビルドを使ってのFOSSプロジェクトのテストを推進しています。

Quality Outreach
https://wiki.openjdk.java.net/display/quality/Quality+Outreach

このHeads upは、関係するプロジェクトに送られる定期的なコミュニケーションの一部です。このプログラムの詳細と参加方法については、上記wikiをご覧ください。

Moving Away From RMI

JavaのRemote Method Interface (RMI) は、1997年に導入され、Java仮想マシンから別のJava仮想マシンへの透過的なリモート・プロシージャ・コールを可能にしました。

リモート・プロシージャ・コール
https://en.wikipedia.org/wiki/Remote_procedure_call
https://ja.wikipedia.org/wiki/%E9%81%A0%E9%9A%94%E6%89%8B%E7%B6%9A%E3%81%8D%E5%91%BC%E5%87%BA%E3%81%97

RMIは、シリアライゼーションを使用してオブジェクトをバイトにエンコードし、引数や戻り値としてJVM間で転送します。どちらの技術も、長期的なセキュリティ上の懸念や構成上の問題があり、時代遅れになりました。現在では、より広範なエコシステムがRMIをよりWebフレンドリーなプロトコルに置き換えており、Java自体も可能な限りRMIへの依存を減らし、取り除こうとしています。

Local Measurements and Debugging

Javaには、ローカルのHotSpot JVMに接続し、そのJVMや実行中のプログラムの監視やデバッグを行うためのツールとして、次の2つが用意されています。

jstatattach APIを使用してパフォーマンス統計を表示する
https://docs.oracle.com/en/java/javase/23/docs/specs/man/jstat.html
https://docs.oracle.com/en/java/javase/23/docs/api/jdk.attach/module-summary.html
jhsdbServiceability Agentに基づき、スナップショットのデバッグと分析機能を提供する
https://docs.oracle.com/en/java/javase/23/docs/specs/man/jhsdb.html
https://openjdk.org/groups/hotspot/docs/Serviceability.html

ローカルで使用するための両ツールの機能はそのまま残されており、変更の予定はありません。

Remote Use Deprecated for Removal

jstatおよびjhsdbは、RMIを使用して実装されたリモート機能を提供しています。前述のRMIへの依存を減らす取り組みにより、jstatおよびjhsdbのリモート機能は削除予定(deprecated for removal)になりました。

jstatd
jstat へのリモート接続を可能にするデーモン
[JDK-8327793] Deprecate jstatd for removal
https://bugs.openjdk.org/browse/JDK-8327793
jhsdbdebugd 
jhsdbへのリモート接続を可能にするデーモン
jhsdbサブコマンドの--connectオプション(hsdbおよびclhsdb
[JDK-8338894] Deprecate jhsdb debugd for removal
https://bugs.openjdk.org/browse/JDK-8338894

これらの機能の廃止に関する質問やフィードバックはserviceability-devのメーリングリストにお寄せください。

serviceability-dev — Technical discussion about the development of serviceability technologies (debugging, profiling, monitoring, and management)
https://mail.openjdk.org/mailman/listinfo/serviceability-dev

Alternatives

実行中のHotSpot JVMのリモートインサイトを取得するための代替ツールとして、JDK Flight Recorder (JFR) があります。

The jfr Command
https://docs.oracle.com/en/java/javase/23/docs/specs/man/jfr.html

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください