{"id":"eb9d9b77-e864-4520-a6d5-c87b4c5e67a5","shortId":"8Fcpfw","kind":"skill","title":"system-doctor","tagline":"系统性能诊断。当用户说电脑卡、系统慢、查看进程、CPU占用高、内存不够等性能问题时使用","description":"# 系统性能诊断工具\n\n你是一个系统性能诊断专家，帮助用户快速定位电脑卡顿的原因，给出可操作的建议。\n\n## 诊断流程\n\n严格按以下步骤执行，最大化并行采集，最后生成结构化报告。\n\n### 第一步：系统概况\n\n**并行执行以下所有命令：**\n\n1. **系统负载与运行时间**\n```bash\nuptime\n```\n\n2. **内存压力**\n```bash\nmemory_pressure 2>/dev/null || vm_stat\n```\n\n3. **内存概况**\n```bash\nsysctl -n hw.memsize | awk '{printf \"物理内存: %.0f GB\\n\", $1/1024/1024/1024}'\n```\n\n4. **进程总数与 zombie 进程**\n```bash\necho \"进程总数: $(ps aux | wc -l | tr -d ' ')\"\necho \"Zombie 进程: $(ps aux | awk '$8 ~ /Z/ {count++} END {print count+0}')\"\n```\n\n5. **CPU 核心数**\n```bash\nsysctl -n hw.ncpu\n```\n\n6. **Swap 使用**\n```bash\nsysctl vm.swapusage 2>/dev/null || echo \"无 swap 信息\"\n```\n\n### 第二步：CPU 大户 Top 20\n\n```bash\nps aux --sort=-%cpu | head -21\n```\n\n### 第三步：内存大户 Top 20\n\n```bash\nps aux --sort=-%mem | head -21\n```\n\n### 第四步：进程分组汇总\n\n将同一应用的多个子进程合并统计（Chrome Renderer x N、Claude Helper x N 等）。\n\n```bash\nps aux | awk 'NR>1 {\n  cmd = $11\n  # 提取应用名：去掉路径，取 basename\n  n = split(cmd, parts, \"/\")\n  name = parts[n]\n  # 对 .app 内的进程，提取 .app 名称\n  if (cmd ~ /\\.app\\//) {\n    match(cmd, /([^\\/]+)\\.app/, arr)\n    if (arr[1] != \"\") name = arr[1]\n  }\n  # 跳过内核进程\n  if (name == \"\" || name == \"-\") next\n  cpu[name] += $3\n  mem[name] += $4\n  rss[name] += $6\n  count[name]++\n}\nEND {\n  printf \"%-35s %8s %8s %10s %6s\\n\", \"应用\", \"CPU%\", \"MEM%\", \"RSS(MB)\", \"进程数\"\n  printf \"%-35s %8s %8s %10s %6s\\n\", \"---\", \"---\", \"---\", \"---\", \"---\"\n  for (name in cpu) {\n    printf \"%-35s %8.1f %8.1f %10.0f %6d\\n\", name, cpu[name], mem[name], rss[name]/1024, count[name]\n  }\n}' | sort -t' ' -k2 -rn | head -30\n```\n\n### 第五步：异常检测\n\n**并行执行以下检测：**\n\n1. **CPU 占用 > 50% 的进程**\n```bash\necho \"=== CPU > 50% 的进程 ===\"\nps aux | awk 'NR>1 && $3 > 50 {printf \"PID=%-8s CPU=%-6s MEM=%-6s CMD=%s\\n\", $2, $3, $4, $11}'\n```\n\n2. **内存占用 > 1GB 的进程**\n```bash\necho \"=== RSS > 1GB 的进程 ===\"\nps aux | awk 'NR>1 && $6 > 1048576 {printf \"PID=%-8s RSS=%.1fGB CMD=%s\\n\", $2, $6/1048576, $11}'\n```\n\n3. **Zombie 进程详情**\n```bash\necho \"=== Zombie 进程 ===\"\nps aux | awk '$8 ~ /Z/ {print}' || echo \"无 zombie 进程\"\n```\n\n4. **负载是否过高**（负载 > CPU 核心数视为过高）\n```bash\ncores=$(sysctl -n hw.ncpu)\nload=$(sysctl -n vm.loadavg | awk '{print $2}')\necho \"CPU 核心数: $cores, 1分钟负载: $load\"\necho \"$load $cores\" | awk '{if ($1 > $2) print \"!! 负载过高: \"$1\" > \"$2\" 核\"; else print \"负载正常: \"$1\" <= \"$2\" 核\"}'\n```\n\n### 第六步：生成诊断报告\n\n综合以上所有信息，按以下格式输出报告：\n\n```\n## 系统概况\n\n| 指标 | 值 |\n|------|------|\n| 运行时间 | X天X小时 |\n| CPU 核心 | X 核 |\n| 物理内存 | X GB |\n| 内存压力 | 正常/警告/严重 |\n| Swap 使用 | X MB |\n| 系统负载 | X / X / X |\n| 进程总数 | X |\n| Zombie 数 | X |\n\n## CPU 大户（按应用分组）\n\n| 应用 | CPU% | 进程数 | 说明 |\n|------|------|--------|------|\n| Chrome | XX% | 28 | 浏览器 Tab 过多 |\n| ... | ... | ... | ... |\n\n## 内存大户（按应用分组）\n\n| 应用 | RSS | 进程数 | 说明 |\n|------|-----|--------|------|\n| Chrome | X.X GB | 28 | 浏览器 Tab 过多 |\n| ... | ... | ... | ... |\n\n## 问题清单\n\n- 🔴 [严重] ...\n- 🟡 [警告] ...\n- 🟢 [正常] 系统运行良好\n\n## 建议\n\n1. ...\n2. ...\n```\n\n### 建议生成规则\n\n根据检测到的问题给出对应建议：\n\n| 问题 | 建议 |\n|------|------|\n| 负载 > 核心数 | 关闭不必要的应用，或升级硬件 |\n| 内存压力为 warn/critical | 关闭内存大户，减少浏览器 Tab |\n| Chrome/浏览器内存 > 2GB | 关闭不用的 Tab，使用 Tab 管理扩展 |\n| Swap 使用 > 1GB | 内存不足，考虑增加物理内存或关闭应用 |\n| CPU 单进程 > 80% | 检查是否卡死，考虑 kill |\n| Zombie 进程 > 0 | 尝试 kill 父进程回收 zombie |\n| Electron 应用过多 | 每个 Electron 应用占用大量内存，建议关闭不用的 |\n\n### 第七步：交互式操作\n\n报告输出后，询问用户是否需要：\n1. 关闭某个占用高的进程（通过 `kill PID`）\n2. 关闭某个应用的所有进程（通过 `killall 应用名`）\n3. 查看某个进程的详细信息（通过 `ps -p PID -o pid,ppid,%cpu,%mem,rss,etime,command`）\n\n**安全规则：**\n- 不要主动 kill 任何进程，必须用户确认\n- 不要 kill 系统关键进程（kernel_task、WindowServer、loginwindow、launchd 等）\n- kill 前先提示用户保存工作\n- 优先使用 `kill PID`（SIGTERM），不要用 `kill -9` 除非用户明确要求\n\n## 注意事项\n\n- 用中文输出所有信息\n- 扫描时最大化并行执行，减少等待时间\n- 所有诊断操作都是只读的（除非用户请求 kill 进程）\n- 如果是 Linux 系统，自动替换 macOS 特有命令（memory_pressure → free -h，sysctl → /proc/cpuinfo 等）","tags":["system","doctor","claude","arsenal","majiayu000","agent-skills","ai-agents","ai-coding-assistant","automation","claude-code","code-review","developer-tools"],"capabilities":["skill","source-majiayu000","skill-system-doctor","topic-agent-skills","topic-ai-agents","topic-ai-coding-assistant","topic-automation","topic-claude","topic-claude-code","topic-code-review","topic-developer-tools","topic-devops","topic-productivity","topic-prompt-engineering","topic-python"],"categories":["claude-arsenal"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/majiayu000/claude-arsenal/system-doctor","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add majiayu000/claude-arsenal","source_repo":"https://github.com/majiayu000/claude-arsenal","install_from":"skills.sh"}},"qualityScore":"0.464","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 29 github stars · SKILL.md body (3,622 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-01T07:01:16.913Z","embedding":null,"createdAt":"2026-04-18T22:24:31.170Z","updatedAt":"2026-05-01T07:01:16.913Z","lastSeenAt":"2026-05-01T07:01:16.913Z","tsv":"'+0':72 '-21':103,114 '-30':234 '-35':183,197,209 '-6':260,263 '-8':257,290 '-9':520 '/1024':226 '/dev/null':31,87 '/proc/cpuinfo':541 '/z':67,311 '0':459 '0f':43 '1':21,132,161,164,238,252,285,345,349,355,423,474 '1/1024/1024/1024':46 '10.0':215 '1048576':287 '10s':187,201 '11':134,271,299 '1fgb':293 '1gb':274,279,448 '1分钟负载':338 '2':25,30,86,268,272,297,333,346,350,356,424,479 '20':96,107 '28':400,413 '2gb':440 '3':34,172,253,269,300,484 '4':47,175,270,317 '5':73 '50':241,246,254 '6':80,178,286 '6/1048576':298 '6d':217 '6s':188,202 '8':66,310 '8.1':211,213 '80':453 '8s':185,186,199,200 'app':147,150,154,157 'arr':158,160,163 'aux':55,64,99,110,129,249,282,308 'awk':40,65,130,250,283,309,331,343 'basenam':138 'bash':23,27,36,51,76,83,97,108,127,243,276,303,322 'chrome':118,398,410,438 'claud':122 'cmd':133,141,153,156,265,294 'command':497 'core':323,337,342 'count':68,71,179,227 'cpu':74,93,101,170,191,207,220,239,245,259,320,335,367,391,395,451,493 'cpu占用高':8 'd':59 'doctor':3 'echo':52,60,88,244,277,304,313,334,340 'electron':464,467 'els':352 'end':69,181 'etim':496 'f':212,214,216 'free':538 'gb':44,373,412 'h':539 'head':102,113,233 'helper':123 'hw.memsize':39 'hw.ncpu':79,326 'k2':231 'kernel':506 'kill':456,461,477,500,504,512,515,519,528 'killal':482 'l':57 'launchd':510 'linux':531 'load':327,339,341 'loginwindow':509 'maco':534 'match':155 'mb':194,381 'mem':112,173,192,222,262,494 'memori':28,536 'n':38,45,78,121,125,139,145,189,203,218,267,296,325,329 'name':143,162,167,168,171,174,177,180,205,219,221,223,225,228 'next':169 'nr':131,251,284 'o':490 'p':488 'part':142,144 'pid':256,289,478,489,491,516 'ppid':492 'pressur':29,537 'print':70,312,332,347,353 'printf':41,182,196,208,255,288 'ps':54,63,98,109,128,248,281,307,487 'render':119 'rn':232 'rss':176,193,224,278,292,407,495 'sigterm':517 'skill' 'skill-system-doctor' 'sort':100,111,229 'source-majiayu000' 'split':140 'stat':33 'swap':81,90,378,446 'sysctl':37,77,84,324,328,540 'system':2 'system-doctor':1 'tab':402,415,437,442,444 'task':507 'top':95,106 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-coding-assistant' 'topic-automation' 'topic-claude' 'topic-claude-code' 'topic-code-review' 'topic-developer-tools' 'topic-devops' 'topic-productivity' 'topic-prompt-engineering' 'topic-python' 'tr':58 'uptim':24 'vm':32 'vm.loadavg':330 'vm.swapusage':85 'warn/critical':434 'wc':56 'windowserv':508 'x':120,124,369,372,380,383,384,385,387,390 'x.x':411 'xx':399 'x天x小时':366 'zombi':49,61,301,305,315,388,457,463 '不要':503 '不要主动':499 '不要用':518 '严格按以下步骤执行':15 '严重':377,418 '交互式操作':471 '任何进程':501 '优先使用':514 '你是一个系统性能诊断专家':11 '使用':82,379,443,447 '信息':91 '值':364 '关闭不必要的应用':431 '关闭不用的':441 '关闭内存大户':435 '关闭某个占用高的进程':475 '关闭某个应用的所有进程':480 '内存不够等性能问题时使用':9 '内存不足':449 '内存占用':273 '内存压力':26,374 '内存压力为':433 '内存大户':105,404 '内存概况':35 '内的进程':148 '减少浏览器':436 '减少等待时间':525 '前先提示用户保存工作':513 '单进程':452 '占用':240 '去掉路径':136 '取':137 '名称':151 '大户':94,392 '如果是':530 '安全规则':498 '对':146 '将同一应用的多个子进程合并统计':117 '尝试':460 '帮助用户快速定位电脑卡顿的原因':12 '并行执行以下所有命令':20 '并行执行以下检测':237 '应用':190,394,406 '应用占用大量内存':468 '应用名':483 '应用过多':465 '建议':422,428 '建议关闭不用的':469 '建议生成规则':425 '异常检测':236 '当用户说电脑卡':5 '必须用户确认':502 '或升级硬件':432 '所有诊断操作都是只读的':526 '扫描时最大化并行执行':524 '报告输出后':472 '指标':363 '按以下格式输出报告':361 '按应用分组':393,405 '提取':149 '提取应用名':135 '数':389 '无':89,314 '最后生成结构化报告':17 '最大化并行采集':16 '查看某个进程的详细信息':485 '查看进程':7 '核':351,357,370 '核心':368 '核心数':75,336,430 '核心数视为过高':321 '根据检测到的问题给出对应建议':426 '检查是否卡死':454 '正常':375,420 '每个':466 '注意事项':522 '浏览器':401,414 '浏览器内存':439 '父进程回收':462 '物理内存':42,371 '特有命令':535 '生成诊断报告':359 '用中文输出所有信息':523 '的进程':242,247,275,280 '第一步':18 '第七步':470 '第三步':104 '第二步':92 '第五步':235 '第六步':358 '第四步':115 '等':126,511,542 '管理扩展':445 '系统':532 '系统关键进程':505 '系统性能诊断':4 '系统性能诊断工具':10 '系统慢':6 '系统概况':19,362 '系统负载':382 '系统负载与运行时间':22 '系统运行良好':421 '给出可操作的建议':13 '综合以上所有信息':360 '考虑':455 '考虑增加物理内存或关闭应用':450 '自动替换':533 '警告':376,419 '诊断流程':14 '询问用户是否需要':473 '说明':397,409 '负载':319,429 '负载是否过高':318 '负载正常':354 '负载过高':348 '跳过内核进程':165 '过多':403,416 '运行时间':365 '进程':50,62,306,316,458,529 '进程分组汇总':116 '进程总数':53,386 '进程总数与':48 '进程数':195,396,408 '进程详情':302 '通过':476,481,486 '问题':427 '问题清单':417 '除非用户明确要求':521 '除非用户请求':527","prices":[{"id":"246edf0e-fe88-4f32-8450-b3c051e54f4a","listingId":"eb9d9b77-e864-4520-a6d5-c87b4c5e67a5","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"majiayu000","category":"claude-arsenal","install_from":"skills.sh"},"createdAt":"2026-04-18T22:24:31.170Z"}],"sources":[{"listingId":"eb9d9b77-e864-4520-a6d5-c87b4c5e67a5","source":"github","sourceId":"majiayu000/claude-arsenal/system-doctor","sourceUrl":"https://github.com/majiayu000/claude-arsenal/tree/main/skills/system-doctor","isPrimary":false,"firstSeenAt":"2026-04-18T22:24:31.170Z","lastSeenAt":"2026-05-01T07:01:16.913Z"}],"details":{"listingId":"eb9d9b77-e864-4520-a6d5-c87b4c5e67a5","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"majiayu000","slug":"system-doctor","github":{"repo":"majiayu000/claude-arsenal","stars":29,"topics":["agent-skills","ai-agents","ai-coding-assistant","automation","claude","claude-code","code-review","developer-tools","devops","productivity","prompt-engineering","python","software-development","typescript","workflows"],"license":"mit","html_url":"https://github.com/majiayu000/claude-arsenal","pushed_at":"2026-04-29T04:12:22Z","description":"52 production-ready Claude Code skills and 7 specialized agents for software development, DevOps, product workflows, and automation.","skill_md_sha":"6dbf0a167b09bfd0d551d1176273cdfaf74c39e7","skill_md_path":"skills/system-doctor/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/majiayu000/claude-arsenal/tree/main/skills/system-doctor"},"layout":"multi","source":"github","category":"claude-arsenal","frontmatter":{"name":"system-doctor","description":"系统性能诊断。当用户说电脑卡、系统慢、查看进程、CPU占用高、内存不够等性能问题时使用"},"skills_sh_url":"https://skills.sh/majiayu000/claude-arsenal/system-doctor"},"updatedAt":"2026-05-01T07:01:16.913Z"}}