适用于排查 Linux 服务器性能或稳定性问题——CPU 饱和、高负载、调度延迟、内存压力、OOM 事件、高 RSS、p...
alibabacloud-sysom-诊断是一项面向实际任务的技能,主要用于使用 SysOM CLI 和后端信封作为真伪的诊断源;此技能取代了较老的 SysOM 诊断技能, 是 SysOM 的单一切入点。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
以 SysOM CLI 和后端信封(envelope)作为诊断事实来源。本 Skill 取代旧版 SysOM 诊断 Skill,是 SysOM ECS 性能与稳定性诊断的统一入口。
当用户报告症状但尚未提供新鲜的 SysOM 信封输出时,在执行临时 Linux 检查或手动探测前,应先从下方领域路由(Domain Routing)中运行匹配的 SysOM 命令。随后依据返回的 agent.summary、agent.findings[].detail/category 和 agent.next_steps[] 继续操作。仅当 SysOM 命令不可用、输出相互矛盾,或在执行聚焦式 SysOM 命令后仍缺失关键实体时,才将原始 Linux 命令作为有边界的兜底方案。
切勿打印、回显或索要 AccessKey ID 或 AccessKey Secret 的值。远程命令自行完成身份验证检查。若某命令返回身份验证或权限错误,请向用户解释该错误,并指引其查阅 references/ram-policies.md;凭证配置必须在当前会话之外完成。
检查 CLI 是否已就绪:
command -v sysom-osops
如未安装,请执行:
curl -fsSL --connect-timeout 1000 https://sysom-prd-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/sysom_prd/skill_cli/install.sh | sudo bash
随后仅验证二进制文件是否存在:
command -v sysom-osops
memory classify;其余领域则采用文档中明确对应的远程操作。ok、error、command 和 agent。agent.summary、agent.findings[].detail、agent.findings[].category 和 agent.next_steps[] 构建。保留影响结论解读的证据限定条件,包括时效性、直接信号不可用、兜底证据、以及修复操作的前提条件。当 classify 在 agent.next_steps[] 中返回一条命令,且尚无根因发现(root-cause finding)包含足够证据支持作答时,应立即执行该命令。不得以人工 Shell 探测替代 Agent 可见的 SysOM 下一步操作。原始 Linux 检查仅在 SysOM 下一步操作成功、失败或超时后,作为有边界的兜底方案使用。
默认情况下,须严格按文档所示方式使用已定义命令。除非用户明确要求查看调试视图,否则不得添加原始(raw)、调试(debug)或后端证据展开(backend evidence expansion)类参数标志。
最终回答应明确指出:所依据的证据、根因、责任方/作用范围(owner/scope)及运维操作目标。除非用户明确要求提供命令,否则不得附加用于验证或修复的 Shell 片段。应优先采用如下表述方式:“在变更窗口内审查依赖项,并禁用或升级泄漏组件”,而非直接给出模块、cgroup、sysctl、清缓存(cache-drop)或进程终止(process-kill)等原始命令。 默认最终答案步骤中,不得包含形如模块检查/卸载、内存摘要命令、cgroup 文件写入、缓存清除控制、sysctl 修改或进程终止等类命令的内联片段。
agent 视图必须自包含(self-contained),满足完整诊断需求。结构化证据属于后端/UI 展示视角,不得作为 Agent 默认所需实体的事实来源。
| 用户症状 | 首选路由 |
|---|---|
| 症状不明的内存问题、OOM、高 RSS、文件缓存、shmem/tmpfs、内存 cgroup、套接字内存、内核内存 | sysom-osops memory classify |
| Java 堆、GC 或 JVM 内存问题 | 当明确涉及 Java 时,使用 sysom-osops memory javamem;否则先启动 memory classify |
| 磁盘响应慢、高 iowait、磁盘延迟、IO 阻塞 | 先运行 sysom-osops io iofsstat;若概览结果指向 IO 缓慢,则再执行 io iodiagnose |
| 高负载、运行队列积压、任务卡在 CPU 等待状态 | 根据可见症状选择 sysom-osops load loadtask 或 load delay |
| 丢包、重传、网络超时、抖动 | 针对丢包/丢弃类症状,使用 sysom-osops net packetdrop;针对延迟波动,使用 net netjitter |
关于命令参数,请参阅 references/deep-actions.md 和 references/parameter-guide.md。关于操作系统与地域支持情况,请参阅 references/supported-environments.md。上述参考文档属于本 Skill 的组成部分;请勿使用远程目标文件工具在被诊断主机上打开 .claude/skills 路径下的文件。
内存诊断遵循与其他所有领域一致的核心工作流与后续操作规则:始终从 sysom-osops memory classify 启动,然后依据可见输出或 agent.next_steps[] 选择下一步操作。如需在多个内存深度操作间进行选择,或确认仍有哪个实体缺失,请加载 references/memory-triage.md(其他领域对应参考文档为 references/non-memory-triage.md)。
下一步内存操作应完全依据可见的 SysOM 输出决定,不得仅凭症状描述文字推断内存机制。
默认命令输出即为 Agent 契约:
{
"ok": true,
"command": "sysom-osops memory classify",
"agent": {
"status": "warning",
"summary": "简明诊断摘要。",
"findings": [
{
"severity": "high",
"title": "简短发现标题",
"detail": "根因、关键实体及证据摘要。",
"category": "root_cause"
}
],
"next_steps": [
{
"kind": "command",
"label": "执行聚焦式深度诊断",
"command": "sysom-osops memory oom",
"reason": "此命令可补全的缺失实体。"
}
]
}
}
agent.findings[] 中仅允许包含 severity、title、detail 和 category 字段。PID、cgroup、服务名、文件路径、OOM 受害者、限制值/当前值、残留物、持有者或清理目标等必需实体,必须明确写入 agent.summary 或 agent.findings[].detail 中。
category=root_cause 的发现;其次按严重性由高到低排序;最后选择最贴合用户所报症状的发现。root_cause 发现的 detail 中已包含解释症状所需的全部实体及安全的下一步操作时,即可视为可终止诊断。agent.next_steps[] 应视为优先级计划,而非待办清单。classify 阶段的异常或观察项。summary 或 detail 中明确指出的 PID、cgroup、文件、限制值或事件。category=root_cause 且所需实体均已可见时,应直接依据该信封作答。原始 Linux 检查仅用于处理矛盾输出、命令报错或明显缺失实体的情形。error.code |
操作 |
|---|---|
Sysom.TargetRequired |
请求实例 ID 与地域信息,或说明 ECS 元数据自动检测的要求 |
Sysom.FallbackClassify |
呈现本地 classify 结果;仅当存在聚焦式后续操作时才继续 |
Sysom.PermissionDenied |
引用 references/ram-policies.md 解释所需的 RAM 权限 |
Sysom.AuthenticationFailure |
提示用户在当前会话之外配置凭证 |
Sysom.InvalidParameter |
请用户修正实例、地域或命令参数 |
Sysom.DiagnosisVersionNotSupported |
说明目标实例的诊断组件需要更新 |
Sysom.DiagnosisJsonParseFailed |
仅当用户仍需相同证据时,重试一次 |
Sysom.PollError |
当缺失证据仍属必要时,对同一聚焦操作重试一次 |
| 参考文档 | 适用场景 |
|---|---|
references/classify-output-guide.md |
阅读本地 memory classify 输出 |
references/memory-triage.md |
选择内存深度操作,或检查内存相关实体是否完备 |
references/non-memory-triage.md |
IO、负载/CPU、网络及 Java 诊断的路由决策 |
references/deep-actions.md |
按领域查找 SysOM 命令 |
references/parameter-guide.md |
校验命令参数有效性 |
references/report-interpretation.md |
解读信封字段含义与回答结构 |
references/ram-policies.md |
解释 RAM 权限要求 |
references/supported-environments.md |
核查操作系统、架构及地域支持情况 |
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章