本文へ移動
cccskills
無料GitHub で公開

clean-startup-log

Audit SGLang startup logs, save evidence, and propose cleanup for user review. With no arguments, run Qwen3-8B at TP1 and TP2 plus gpt-oss-20b at TP1.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md5.8 KB
  • references/noise-sources.md4.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Audit SGLang Startup Logs

The default outcome is saved logs and a findings report. Apply runtime changes only after the user selects them. A request to edit this skill does not itself launch servers.

Default runs

A bare $clean-startup-log invocation runs these cases sequentially without asking for commands. Explicit commands, models, or TP sizes replace this matrix.

Case / log filenameCommand
qwen3-8b-tp1.loguv run sglang serve --model-path Qwen/Qwen3-8B
qwen3-8b-tp2.loguv run sglang serve --model-path Qwen/Qwen3-8B --tp 2
gpt-oss-20b-tp1.loguv run sglang serve --model-path openai/gpt-oss-20b

These cover dense, tensor-parallel, and MoE/hybrid sliding-window attention startup. Reuse complete captures from the current audit when code and environment have not changed.

Capture logs

  1. Check the checkout, free GPUs, and ports once. Use the requested command when resources are free; otherwise select free GPUs with CUDA_VISIBLE_DEVICES and an unused --port, recording the adjustments. Leave existing servers alone.
  2. Create a unique directory with mktemp -d /tmp/sglang-startup-audit-XXXXXX. Save raw stdout and stderr together in a separate log for each case, for example with set -o pipefail and COMMAND 2>&1 | tee LOG_PATH. Record commands, GPU IDs, ports, commit, relevant overrides, and readiness status.
  3. Wait for The server is fired up and ready to roll!, then stop that server and its workers before the next case. First runs can spend many minutes downloading weights or compiling FlashInfer kernels; check download/compiler activity before treating a quiet log as a hang. Preserve partial logs for failed or stalled starts and report the last stage. Continue independent cases when possible.
  4. Preserve the user's logging configuration, including NCCL_DEBUG. If NCCL verbosity needs explaining, inspect relevant shell settings, NCCL_CONF_FILE, and /etc/nccl.conf. Do not override intentional diagnostics or recommend NCCL_DEBUG=WARN solely because the output is long. Avoid full environment dumps.

Investigate efficiently

  • Scan for deprecations, duplicate handler output, unrelated import failures, unformatted prints, and unexpected warnings. Read representative excerpts and counts instead of repeatedly dumping server_args, progress redraws, or NCCL diagnostics. Normalize carriage returns for analysis only; preserve raw logs.
  • Trace each candidate to its actual emitter with focused rg searches. Inspect its log level: SGLang's formatter may omit severity. Group shared signatures across cases and distinguish handler duplication from separate GPU/process calls.
  • Repetition, WARNING severity, or a different third-party format alone does not establish a cleanup need. Consider whether the message explains configuration, progress, resource use, or an operational limitation.
  • Consult noise-source hints only for a matching signature or an unresolved emitter. Verify current code rather than trusting historical line numbers, fix status, or assumptions about unrelated models.

Accepted output

Preserve these reviewed messages unless the user requests a different policy:

  • NCCL diagnostics enabled by the user's environment or host configuration.
  • NUMA permission warnings, including one check per GPU in TP runs.
  • GPT-OSS MXFP4 backend-selection warnings and default page-size selection warnings.
  • Init Unified Radix Cache. Components: ... Tree Core: ..., tree-cache summaries, SWA allocation details, and per-rank memory/timing records.
  • Useful progress bars, warmup HTTP access logs, uv synchronization messages, isolated NCCL/Gloo startup lines, and one timestamped HF authentication warning.

These can appear in a clean startup log. Do not repeatedly propose the declined NUMA deduplication, backend/page-size level changes, or NCCL verbosity override. Keep real operational warnings visible: for example, a Harmony vocabulary failure can disable /v1/responses even when server readiness and /generate succeed.

Report before changing code

Return a compact run table with readiness status and clickable raw-log links. For each actual cleanup candidate, give an exact representative message, affected cases/counts, source file/function, and specific proposed behavior. Distinguish confirmed findings from suspicions and operational failures from logging noise.

If there are no actionable cleanup findings, say the logs are clean and no further cleanup is needed. Otherwise, ask which numbered changes to adopt and wait for the user's selections before editing runtime code or preparing patches. Honor existing approvals and declined items without asking again.

Apply selected changes

  • Batch compatible approved edits, then verify affected cases once. Repeat a startup only for a new change, failure, or unresolved concern; do not relaunch after every one-line edit. Save verification logs separately from baselines.
  • Preserve useful warnings and application handlers. HF can warn during early CLI model detection before configure_logger(), and spawned processes have independent logger state. Keep configure_hf_hub_logger() in both suppress_noisy_warnings() and configure_logger(); make repeated setup safe.
  • Keep the legacy compiled-kernel cache migration notice at DEBUG. Avoid broad library-level suppression or fd redirection for a narrow logging problem.
  • Run relevant formatting and focused existing checks. Add tests only when they verify meaningful behavior, not a log-level spelling. Report changes and verification; create branches, commits, and PRs when requested.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Step-by-step tutorial for adding a new lightweight JIT CUDA kernel to sglang.kernels JIT infrastructure and public operator groups

日本語の概要は準備中です。原文の説明を表示しています。

sgl-project/sglang3.7万2026年10月13日 更新

Step-by-step tutorial for adding a heavyweight AOT CUDA/C++ kernel to sgl-kernel (including tests & benchmarks)

日本語の概要は準備中です。原文の説明を表示しています。

sgl-project/sglang3.7万2026年10月13日 更新

Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head. Use when asked to monitor, babysit, retry, or fix PR CI for lint.yml, pr-test.yml, pr-test-extra.yml, AMD, or other named workflows; classify failures as PR-related versus flaky or infrastructural, auto-fix and push only small clean fixes, rerun failed jobs only up to 10 times, and ignore unselected workflows.

日本語の概要は準備中です。原文の説明を表示しています。

sgl-project/sglang3.7万2026年10月13日 更新

Audit the existing test tree and CI configuration for improvements, using a catalog of patterns previously applied in this repo. Use when asked to audit tests or CI, shrink CI time or cost, find redundant or misplaced tests, clean up a test group, or review whether a CI change follows established practice.

日本語の概要は準備中です。原文の説明を表示しています。

sgl-project/sglang3.7万2026年10月13日 更新

Guide to SGLang CI workflow orchestration — stage ordering, fail-fast, gating, partitioning, execution modes, and debugging CI failures. Use when modifying CI workflows, adding stages, debugging CI pipeline issues, or understanding how tests are dispatched and gated across stages.

日本語の概要は準備中です。原文の説明を表示しています。

sgl-project/sglang3.7万2026年10月13日 更新

Compute the optimal --mamba-full-memory-ratio (or --max-mamba-cache-size pin) for a hybrid attention + linear-attention (Mamba / GDN / KDA) model's two serving memory pools, from the workload and serving config. Use when a user asks what ratio to set, why concurrency is clamped, or how to size the state vs KV pools for a hybrid model.

日本語の概要は準備中です。原文の説明を表示しています。

sgl-project/sglang3.7万2026年10月13日 更新

sgl-project のスキルをすべて見る

このスキルの問題を報告する