mcpField
J
java-performance

java-performance

github.com/pluginagentmarketplace開発41484 回インストール42 週間前に更新
リポジトリ

java-performance について

Java 開発者向けに JVM の性能最適化を支援するスキルです。GC 調整、メモリ分析、CPU プロファイリング、JMH によるベンチマークや、一般的な問題の調査方法を扱います。

主な機能

  1. 01GC 調整の指針
  2. 02メモリとリークの分析
  3. 03CPU ホットスポットの特定
  4. 04JMH ベンチマーク
  5. 05コンテナ設定の最適化

活用シーン

  1. 01レイテンシやスループットに合わせた GC 調整
  2. 02CPU ホットスポットの特定
  3. 03メモリリークの調査
  4. 04コード性能のベンチマーク

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pluginagentmarketplace/custom-plugin-java --skill java-performance

インストール後、Claude Code で/java-performanceを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
config.yaml
jvm-options.yaml
schema.json
references/
GUIDE.md
PATTERNS.md
scripts/
validate.py

詳細

Java パフォーマンススキル

プロファイリング、GC チューニング、メモリ解析によって JVM のパフォーマンスを最適化します。

概要

このスキルでは、ガベージコレクションのチューニング、メモリ解析、CPU プロファイリング、JMH によるベンチマークなど、JVM のパフォーマンス最適化を扱います。

このスキルを使用するタイミング

次のような場合に使用します。

  • 低レイテンシまたはスループット向上のために GC を調整する
  • CPU のホットスポットをプロファイリングする
  • メモリリークを解析する
  • コードのパフォーマンスをベンチマークする
  • コンテナの設定を最適化する

クイックリファレンス

GC のプリセット
# High-throughput
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-Xms4g -Xmx4g
-XX:+AlwaysPreTouch

# Low-latency
-XX:+UseZGC
-XX:+ZGenerational
-Xms8g -Xmx8g

# Memory-constrained
-XX:+UseSerialGC
-Xms512m -Xmx512m
-XX:+UseCompressedOops

# Container-optimized
-XX:+UseContainerSupport
-XX:MaxRAMPercentage=75.0
-XX:+ExitOnOutOfMemoryError
プロファイリングコマンド
# Thread dump
jstack -l <pid> > threaddump.txt

# Heap dump
jmap -dump:format=b,file=heap.hprof <pid>

# GC analysis
jstat -gcutil <pid> 1000 10

# Flight recording
jcmd <pid> JFR.start duration=60s filename=app.jfr

# Async profiler
./profiler.sh -d 30 -f profile.html <pid>
JMH ベンチマーク
@BenchmarkMode(Mode.Throughput)
@Warmup(iterations = 3, time = 1)
@Measurement(iterations = 5, time = 1)
@State(Scope.Benchmark)
public class MyBenchmark {

    @Benchmark
    public void testMethod(Blackhole bh) {
        bh.consume(compute());
    }
}

GC の比較

GCレイテンシスループットヒープサイズ
G1中高4-32GB
ZGC非常に低い中8GB-16TB
Shenandoah非常に低い中8GB+
Parallel高非常に高い任意

トラブルシューティング

問題原因解決策
GC の過剰な実行ヒープが小さすぎるヒープを増やす
レイテンシが高いGC の停止ZGC に切り替える
メモリリークオブジェクトの保持ヒープダンプ + MAT
CPU スパイクホットループプロファイリング + 最適化

使用方法

Skill("java-performance")

コメント