ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

pstack运行时取证与追踪取证:诊断内存泄漏与CPU空转

pstack运行时取证与追踪取证:诊断内存泄漏与CPU空转 pstack运行时取证与追踪取证诊断内存泄漏与CPU空转【免费下载链接】pstack-claudeClaude Code, Codex, Copilot, Pi, OpenCode, Gemini, and Prime Agent versions of Potetos pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.项目地址: https://gitcode.com/GitHub_Trending/ps/pstack-claudepstack是把 Poteto 的严谨 Agent 工作流移植到 Claude Code、Codex 和 Pi 的开源技能栈。除了修 Bug 和写功能它最被低估的能力是运行时取证Runtime forensics与追踪取证Trace forensics前者对着活着的进程抓 CPU 空转和内存泄漏的现场后者解剖已经存在的 cpuprofile、heap snapshot、spindump 等性能工件。两者共同点只有一个——交付物是带引用的诊断而不是拍脑袋的修复。 为什么是取证而不是读代码猜原因排查性能问题时最常见的误区是打开源码凭直觉说大概是这里慢。pstack 的两个取证 playbook 明确反其道而行诊断由你负责。去给活进程插桩取证别对着源码空想。runtime-forensics.md原因很简单猜测没有证据链无法复现也无法说服别人。取证式诊断要求每一步都有工件artifact背书——CPU profile、heap snapshot、trace 文件最后把热路径映射回具体的文件、符号和行号。️ 运行时取证给活的进程插桩适用场景进程正在泄漏内存、CPU 持续空转、界面莫名闪烁而现场还活着。playbookplugins/pstack/skills/poteto-mode/playbooks/runtime-forensics.md的核心五步抓活信号CPU 空转抓 CPU profile内存泄漏抓 heap snapshot视觉故障抓 CDP trace——要真实工件不是猜测压缩到决定性证据热点函数、从泄漏对象到 GC 根的保留者链retainer chain、无输入却在自转的循环。大工件交给子代理解析呼应 principle-guard-the-context-window 原则主线只保留浓缩结论先证明机制再相信它通过 CDP eval 往运行中的进程注入插桩或不重新加载直接热修代码低成本验证假设映射回源码文件、符号、分配或调度发生的那一行回复格式捕获了什么信号、浓缩结论、如何证明机制、源码位置、工件路径——没人要求就不给修复方案。 追踪取证解剖死后的性能工件适用场景同事或监控系统已经留下了 cpuprofile、.json.gztrace、spindump 或 heap snapshot你手里只有文件。trace-forensics.md 与运行时取证的关键区别是工件是固定数据集只读不要重跑。流程是识别格式选对工具cpuprofile 用 DevTools 或 trace 解析器spindump 用文本编辑器heap snapshot 用堆分析工具转成可查询形态把 trace 或堆快照 dump 进 sqlite——一个样本、帧或节点一行先达到可查询状态再阅读收窄到原因查询占用时间最多的帧沿调用树走到热路径内存泄漏则沿保留者链追到 GC 根spindump 则找卡住或被阻塞的线程及等待原因归因到源码用工件自带符号把热帧映射到文件、符号、行号。没有源码映射的帧还不算诊断有配对工件就做前后对比没有配对就把结论明确标注为工件支持的最强假设而非已确认原因只交付带引用的诊断找到原因后再路由给 Bug fix 或 Perf issue。 一张表看懂两种取证维度运行时取证追踪取证对象正在运行的进程已存在的工件文件动作插桩、注入、热修验证加载、转换、查询、只读内存泄漏手段抓 heap snapshot 保留者链解析 heapsnapshot追 GC 根CPU 空转手段抓 CPU profile解析 cpuprofile/spindump交付物带引用的诊断不修带引用的诊断不修 从诊断到修复与 Perf issue 衔接找到原因只是开始。pstack 的 perf-issue.md playbook 接管修复环节核心纪律是每个修复都要绑定一次测量。它会按顺序尝试性能咒语——能不做的不做 → 做但别重复做 → 少做 → 延后做 → 别人不看时做 → 并发做 → 更便宜地做——前面某条达标就停。而每个数字都要过 benchmark-checklist 这道关卡先回答为什么不能快两倍找出限流器、是否两侧同调优、是否撞了物理上限、有无错误混入、能否复现至少 5 轮交替跑、端到端是否真的有意义、工作是否真的发生了。配合 principle-explain-the-number 原则报得出数字也要报得出它的边界条件运行次数、离散范围、限流器。想进一步追问这段防御性代码为什么当初要这么写还可以路由到 why 技能并行查询源码历史、工单、文档、聊天记录等多类证据源。⚙️ 快速上手在 Claude Code 中安装插件/plugin marketplace add michael-denyer/pstack-claude /plugin install pstackpstack-claudeCodex、Pi 等其他运行时的安装方式见 docs/reference.md。用一句自然语言触发例如用 poteto-mode 帮我诊断为什么这个进程内存一直涨。入口技能 poteto-mode 会自动匹配到对应的取证 playbook 并逐步执行运行/pstack:setup-pstack可为不同角色配置模型与推理深度如给取证角色配fable xhigh。 延伸路径运行时取证 playbookplugins/pstack/skills/poteto-mode/playbooks/runtime-forensics.md追踪取证 playbookplugins/pstack/skills/poteto-mode/playbooks/trace-forensics.md性能修复 playbookplugins/pstack/skills/poteto-mode/playbooks/perf-issue.md测量校验清单plugins/pstack/skills/benchmark-checklist/SKILL.md完整参考文档docs/reference.md记住 pstack 取证体系的一句话信条真实工件 → 压缩到决定性证据 → 证明机制 → 归因到源码行。先诊断再动手性能问题从此不再是玄学。【免费下载链接】pstack-claudeClaude Code, Codex, Copilot, Pi, OpenCode, Gemini, and Prime Agent versions of Potetos pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.项目地址: https://gitcode.com/GitHub_Trending/ps/pstack-claude创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表