AgentSkillsCN

linux-diag

Linux 系统的故障诊断技能。适用于排查系统运行缓慢、无响应、出现错误等问题时使用。提供 CPU、内存、磁盘、网络、进程、服务、日志、GPU/NVIDIA、图形/xrdp 以及 Docker/容器的诊断命令与流程图。

SKILL.md
--- frontmatter
name: linux-diag
description: Linux系OSのシステム不具合診断スキル。システムが遅い、応答しない、エラーが発生する等の問題調査時に使用。CPU、メモリ、ディスク、ネットワーク、プロセス、サービス、ログ、GPU/NVIDIA、グラフィック/xrdp、Docker/コンテナの診断コマンドとフローチャートを提供。

Linux System Diagnostics Skill

Linux系OSのシステム不具合を調査・診断するための知識ベースです。

概要

このスキルは以下の状況で自動的に参照されます:

  • システムが遅い・重い
  • サーバーが応答しない
  • プロセスがハングしている
  • ディスク容量やI/O問題
  • ネットワーク接続問題
  • サービスが起動しない
  • 原因不明のエラー
  • GPU/NVIDIAの問題(nvidia-smi失敗、CUDA/NVEncエラー)
  • グラフィック/ディスプレイ問題(xrdp黒画面、DRM権限エラー)
  • Docker/コンテナの問題(コンテナ内からデバイスアクセス不可)
  • ユーザー権限/グループの問題(デバイスアクセス拒否)

診断カテゴリ

カテゴリ主な症状詳細
CPU高負荷、遅延COMMANDS.md#cpu
メモリOOM、スワップCOMMANDS.md#memory
ディスク容量不足、I/O遅延COMMANDS.md#disk
ネットワーク接続失敗、遅延COMMANDS.md#network
プロセスハング、ゾンビCOMMANDS.md#process
サービス起動失敗COMMANDS.md#service
ログエラー調査COMMANDS.md#log
GPU/NVIDIAnvidia-smi失敗、CUDA/NVEncエラーCOMMANDS.md#gpu
グラフィックxrdp黒画面、DRM権限エラーCOMMANDS.md#graphics
Docker/コンテナコンテナ内デバイスアクセス不可COMMANDS.md#docker
権限/ACLデバイスアクセス拒否、グループ不足COMMANDS.md#permission

クイックスタート: 初動診断

問題の切り分けのため、まず以下を実行:

bash
# 1. システム全体の状態確認
uptime                    # 負荷平均確認
free -h                   # メモリ使用状況
df -h                     # ディスク使用状況

# 2. リソース消費トップ確認
top -bn1 | head -20       # CPU/メモリ上位プロセス

# 3. 最近のエラー確認
dmesg | tail -30          # カーネルメッセージ
journalctl -p err -n 20   # エラーログ(systemd環境)

診断フローチャート

詳細な診断手順は FLOWCHART.md を参照。

簡易フロー

code
問題発生
    │
    ├─→ システムが遅い
    │       ├─ uptime で Load Average 確認
    │       ├─ 高い → CPU負荷診断へ
    │       └─ 低い → I/O待ち診断へ
    │
    ├─→ メモリ不足エラー
    │       ├─ free -h で確認
    │       ├─ dmesg | grep -i oom
    │       └─ メモリ診断へ
    │
    ├─→ ディスク関連エラー
    │       ├─ df -h で容量確認
    │       ├─ iostat でI/O確認
    │       └─ ディスク診断へ
    │
    ├─→ ネットワーク接続問題
    │       ├─ ip addr / ping で基本確認
    │       ├─ ss -tlnp でポート確認
    │       └─ ネットワーク診断へ
    │
    ├─→ サービス起動失敗
    │       ├─ systemctl status <service>
    │       ├─ journalctl -u <service>
    │       └─ サービス診断へ
    │
    ├─→ GPU/NVIDIA問題
    │       ├─ nvidia-smi で状態確認
    │       ├─ nvidia-smi -q | grep "Persistence Mode"
    │       └─ GPU診断へ
    │
    ├─→ グラフィック/xrdp問題
    │       ├─ ls -la /dev/dri/ でデバイス確認
    │       ├─ groups | grep video
    │       └─ グラフィック診断へ
    │
    └─→ コンテナ内デバイス問題
            ├─ docker exec <container> nvidia-smi
            ├─ docker inspect でDeviceRequests確認
            └─ コンテナ診断へ

コマンドリファレンス

詳細なコマンドリスト: COMMANDS.md

必須コマンド(覚えておくべき基本)

目的コマンド説明
負荷確認uptimeLoad Average(1/5/15分)
メモリfree -hメモリ使用状況
ディスク容量df -hファイルシステム使用状況
プロセスps aux全プロセス一覧
リアルタイム監視top / htopCPU/メモリ監視
ネットワークip addrIPアドレス確認
ポートss -tlnpリスニングポート
ログjournalctl -xe最新ログ(詳細)

診断レベル

Level 1: 基本診断(初心者向け)

  • uptime, free, df, top, ps
  • 問題の大まかな切り分け

Level 2: 詳細診断(中級者向け)

  • vmstat, iostat, netstat/ss, lsof
  • 原因の特定

Level 3: 高度診断(上級者向け)

  • strace, perf, tcpdump, /proc 解析
  • 根本原因の究明

注意事項

  • sudo が必要なコマンドあり(一部プロセス情報、tcpdump等)
  • 本番環境での strace, tcpdump は慎重に(パフォーマンス影響)
  • ログファイルのパスはディストリビューションで異なる場合あり

関連ファイル

調査カルテ(cartes/)

過去の調査事例を個別ファイルで管理。症状に応じて関連カルテを検索して参照。

bash
# カルテ一覧
ls cartes/

# キーワードでカルテを検索
grep -l "xrdp" cartes/*.md
grep -l "GPU" cartes/*.md
grep -l "Docker" cartes/*.md
カルテタグ
xrdp-drm-permission.mdxrdp, DRM, video, 権限
xrdp-software-rendering.mdxrdp, GNOME, レンダリング, Mutter
docker-gpu-persistence.mdDocker, GPU, NVIDIA, Persistence Mode