본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

java-diagnostics

JDK 진단 도구로 Java 애플리케이션의 높은 CPU 사용량, 메모리 부족, 응답 지연을 증상에 따라 조사합니다. 적절한 데이터를 수집해 원인을 좁히고, 수집 부담과 민감 정보 취급도 안내합니다.

원문원문 설명 보기

Symptom-first runtime diagnostics for JVM applications using JDK tools: jcmd, jstack, jmap, jstat, JFR, GC logs, async-profiler, Native Memory Tracking, and Eclipse MAT. Use when a Java app has high CPU, memory leaks or OutOfMemoryError, slow startup, deadlocks or thread starvation, long GC pauses, native memory growth, or slow requests. Includes permission tiers for safe use.

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • Java 프로세스의 높은 CPU 사용량 조사
  • 메모리 누수나 OutOfMemoryError 조사
  • 교착 상태와 응답 지연 확인
  • 긴 GC 정지의 원인 조사

한국어 소개

할 수 있는 일

이 스킬은 증상에 맞는 진단 방법으로 Java 애플리케이션의 높은 CPU 사용량, 메모리 문제, 느린 시작과 응답 지연을 조사합니다. jcmd와 jstack으로 스레드 정보를 확인하고, jstat과 GC 로그로 메모리 회수 상태를 살펴봅니다. 필요하면 JFR이나 async-profiler로 실행 상황을 기록합니다. 여러 차례 수집한 자료와 다른 정보원을 함께 사용해 원인 가설을 검증하는 흐름을 안내합니다.

이럴 때 유용합니다

Java 애플리케이션이 느리지만 무엇을 수집해야 할지 모를 때 사용할 수 있습니다. 교착 상태와 Java 힙 밖에서 증가하는 메모리도 조사할 수 있습니다. 수정 후에는 같은 방법으로 다시 측정해 변화를 확인하도록 안내합니다.

사용 예시

  • “스레드 정보를 바탕으로 CPU 사용률이 높은 Java 프로세스를 조사해 주세요.”
  • “OutOfMemoryError의 원인을 좁히기 위한 수집 절차를 정리해 주세요.”

주의 사항

진단 도구는 대상 JVM과 같은 운영체제 사용자로 실행해야 합니다. 기록이나 연결이 필요한 작업은 동의가 필요하며, 운영 환경에서는 명시적인 지시가 있어야 합니다. 힙 덤프에는 민감한 정보가 포함될 수 있으므로 외부에 공유하지 말고 로컬에서 분석한 뒤 삭제합니다. 수집 중 발생할 수 있는 일시 정지와 디스크 공간도 고려해야 합니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

문서 점검

AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.

안전성전송·삭제·명령 실행 등을 명시하고 있는가
A양호단계별 동의와 부하를 설명하며 덤프는 로컬 분석 후 삭제하도록 합니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
B일부 부족JDK 도구와 선택 도구를 나열하지만 설치 절차는 일부만 제시합니다.

점수에는 넣지 않았습니다. 2026년 10월 25일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(9)

  • SKILL.md7.2 KB
  • references/async-profiler.md3.0 KB
  • references/containers.md1.7 KB
  • references/gc.md1.6 KB
  • references/heap.md3.0 KB
  • references/jcmd-basics.md1.9 KB
  • references/jfr.md2.3 KB
  • references/native-memory.md1.5 KB
  • references/thread-dumps.md3.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Java Diagnostics

Pick the lightest tool that answers the question, starting from the symptom.

Permission tiers (obey them)

TierToolsRule
1. Read-onlyjps -l, jcmd <pid> help/VM.version/VM.flags/Thread.print, jstat, jstack, reading logsMay run after stating the exact command. Class histograms (jcmd <pid> GC.class_histogram, jmap -histo, jmap -histo:live) are NOT Tier 1: they run heap inspection at a safepoint and can pause application threads on a large heap, so treat them as Tier 2 (consent, stated overhead). The default forms and -histo:live additionally force a full GC; -all=true / jmap -histo skip the full GC but still pause during the scan (and count unreachable objects).
2. Recording / attachJFR (JFR.start, -XX:StartFlightRecording), async-profiler, NMT (-XX:NativeMemoryTracking), enabling GC logsRequires user consent. State duration and expected overhead (JFR default profile is about 1-2%; async-profiler depends on mode; NMT summary roughly 5-10%, detail more) before running.
3. Intrusive / sensitiveHeap dumps (GC.heap_dump, jmap -dump), jhsdb, commands that print JVM arguments or system properties (jps -v/-lv/-m, bare jcmd, VM.system_properties, VM.command_line, jinfo, ps aux on a Java process; they can expose secrets, redact output), JDWP with suspend, anything on productionRequires explicit consent, a stated target path, free-disk check (a dump is about the size of the used heap), and a stated pause. Heap dumps contain secrets (passwords, tokens, personal data). Never share or upload them; redaction is NOT a reliable safeguard. Analyze locally and delete afterwards.

Never run Tier 2 or Tier 3 commands against production unless the user explicitly instructs it. Run diagnostic tools as the same OS user as the target JVM. Prefer reproducing on dev or staging.

Decision table

SymptomFirst stepThenReference
High CPUThread dumps x3 (Tier 1) + top -H to map hot native thread ids to nidJFR or async-profiler CPU flame graph (Tier 2)threads, jfr, async-profiler
Memory leak / OOMjstat -gcutil, GC.class_histogram -all=true twice, minutes apart (Tier 2: safepoint pause even with -all=true; without it a full GC too; get consent on production)Heap dump + Eclipse MAT (Tier 3) or JFR OldObjectSample (Tier 2)heap, gc
Slow startup-Xlog:class+load, framework startup/condition reports, timestamped logsJFR from start, async-profiler wall-clockjfr, async-profiler
Deadlock / thread starvationjcmd <pid> Thread.print (reports deadlocks), compare dumps over timeVirtual threads: Thread.dump_to_filethreads
GC pausesGC log (-Xlog:gc*) and jstat -gcJFR GC events; tune collector/heapgc
Native memory growth (RSS grows, heap does not)Compare RSS vs heap; enable NMT, jcmd VM.native_memory baseline / summary.diff (Tier 2)async-profiler nativemem or allocator toolsnmt, containers
Slow requestsTracing/metrics and logs first; Actuator or Dev UI (see below)JFR (socket/file/lock events), async-profiler wall-clockjfr, async-profiler
JVM crash / hang, no tools respondhs_err_pid*.log, core dumpjhsdb (Tier 3)basics

Start with jps/jcmd basics to identify the target JVM and confirm which JDK version is running.

Workflow

  1. Capture the symptom precisely (when, how often, since which change, JDK version, container limits).
  2. Choose the tier needed; state the command, its overhead, and output location, and get consent for Tier 2/3.
  3. Collect data to a dedicated directory, with timestamps. Prefer several samples over one.
  4. Form a hypothesis from the data, then confirm with a second source (for example a thread dump plus a flame graph).
  5. Fix, re-measure with the same method, and clean up artifacts (dumps, recordings).

Application-level insights (optional)

JDK tools see the JVM; some questions (which endpoint, which SQL query, which bean) are easier at the application level. Optional options, in order of preference:

  • Spring Boot Actuator (metrics, health, loggers, httpexchanges) and Quarkus Dev UI / Micrometer metrics are built in and need no extra tool. Expose Actuator endpoints minimally; For heapdump and threaddump, follow the policy in the spring-observability skill: never expose them over public HTTP; the only exception is a temporary, user-consented window with authentication, TLS and network restriction, removed afterwards.
  • BootUI (https://github.com/jdubois/boot-ui , https://www.julien-dubois.com/boot-ui/): a local-only developer console with an opt-in MCP server for Spring Boot and Quarkus. Optional. Its skill can be installed with gh skill install jdubois/boot-ui skills/bootui.

If considering BootUI:

  • Ask the user for consent before adding any dependency or installing the skill.
  • Use it in a local/dev profile only; never expose it on a network, and never enable its heap dump, thread dump endpoints or MCP server in production.
  • Check the capability and version first (read its README for the supported Spring Boot / Quarkus versions) instead of assuming features.

Follow the project's own documentation for usage; this skill does not reproduce it.

Containers

See containers for attaching tools inside containers, -XX:MaxRAMPercentage, and cgroup memory limits.

References

Official docs (prefer them over this skill for the JDK in use; change 21 to your version): jcmd https://docs.oracle.com/en/java/javase/21/docs/specs/man/jcmd.html, jfr https://docs.oracle.com/en/java/javase/21/docs/specs/man/jfr.html, JFR guide https://docs.oracle.com/en/java/javase/21/jfr/introduction-jdk-flight-recorder.html, troubleshooting guide https://docs.oracle.com/en/java/javase/21/troubleshoot/, async-profiler releases https://github.com/async-profiler/async-profiler/releases.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

acquire-codebase-knowledge

무료요약 있음

기존 프로젝트의 코드와 설정을 조사해 기술 구성, 구조, 아키텍처, 규칙, 연동, 테스트, 우려 사항을 다루는 문서 7개를 작성합니다. 근거 파일을 연결하고 미확인 항목을 표시하며, 계획과 실제 구현의 차이를 드러냅니다.

  • 익숙하지 않은 코드베이스 파악하기
  • 프로젝트 인수인계 문서 준비하기
  • 설계 문서와 실제 구현 비교하기
github/awesome-copilot4만2026년 10월 24일 업데이트

acreadiness-assess

무료요약 있음

AgentRC로 저장소의 AI 에이전트 활용 준비도를 평가하고 독립 실행형 HTML 보고서를 생성합니다. 9개 영역의 점수와 우선순위별 개선안을 확인하고, 조직에 맞춘 채점 정책도 적용할 수 있습니다.

  • AI 에이전트 도입 전 준비도 확인
  • 평가 결과에 따라 개선 우선순위 결정
  • 조직별 정책으로 점수 산정
github/awesome-copilot4만2026년 10월 24일 업데이트

프로젝트의 실제 코드에서 언어, 프레임워크, 개발 관례를 파악해 AI 코딩 에이전트용 지침 파일을 생성하거나 갱신합니다. 하나의 파일에 모으거나 주제와 프로젝트 영역별로 나누며, 쓰기 전에 변경 내용을 미리 볼 수 있습니다.

  • VS Code Copilot용 지침 만들기
  • 바뀐 개발 규칙을 지침에 반영
  • 모노레포 영역별 규칙 정리
github/awesome-copilot4만2026년 10월 24일 업데이트

acreadiness-policy

무료요약 있음

AgentRC 준비도 평가를 팀이나 조직의 기준에 맞게 조정합니다. JSON 정책에서 검사 중요도와 수준을 바꾸고, 불필요한 검사를 끄며, 통과율을 설정해 CI 자동 검사에도 적용할 수 있습니다.

  • 조직 공통 평가 기준 만들기
  • AI 관련 준비 상태만 평가
  • 검사 항목의 중요도 조정
github/awesome-copilot4만2026년 10월 24일 업데이트

ad-campaign-analyzer

무료요약 있음

제공한 광고 성과 데이터를 분석해 낭비되는 지출과 성과가 좋은 광고를 찾고, 중단·예산 증액·추가 테스트 후보를 정리합니다. 여러 플랫폼을 비교하고 A/B 테스트의 차이를 평가해 예산 재배분 방안도 제시합니다.

  • 중단할 광고나 키워드 찾기
  • 예산을 늘릴 캠페인과 대상 찾기
  • A/B 테스트 결과의 유의성 확인
github/awesome-copilot4만2026년 10월 24일 업데이트

add-educational-comments

무료요약 있음

지정한 코드 파일에 학습용 주석을 추가해 문법, 프로그래밍 개념, 설계 선택의 이유를 설명합니다. 독자의 지식에 맞춰 설명의 깊이와 반복 정도를 조절하며 파일 구조와 형식을 유지합니다.

  • 기존 코드에 초보자용 설명 추가
  • 문법이나 설계 방식을 선택한 이유 설명
  • 독자의 경험에 맞춰 주석 조정
github/awesome-copilot4만2026년 10월 24일 업데이트

github의 스킬 모두 보기

이 스킬의 문제 신고