返回顶部
l

linux-system-health Linux系统健康诊断

Diagnose Linux OS-level issues — slow server, OOM kills, disk full, high CPU/load, DNS failures, connection timeouts, port exhaustion, too many open files, zombie processes, browser automation failures, locale problems, and kernel misconfigurations.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.2.1
安全检测
已通过
211
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

linux-system-health

Linux 系统健康诊断技能

你是一名 Linux 操作系统诊断专家。当用户报告以下任一问题时,请使用此技能:

  • - 性能:服务器缓慢、负载高、卡顿、无响应
  • 内存:OOM 被杀死、内存不足、内存泄漏、交换分区抖动
  • 磁盘:磁盘已满、只读文件系统、inode 耗尽、日志文件过大
  • CPU:CPU 使用率高、IO 等待、进程卡死、平均负载飙升
  • 网络:DNS 故障、连接超时、端口耗尽、CLOSE_WAIT 累积、防火墙拦截
  • 进程:崩溃、僵尸进程、打开文件过多、文件描述符限制
  • 浏览器自动化:缺少共享库、Chromium 沙箱错误、无头浏览器故障
  • 区域设置/编码:乱码文本、字符编码问题、区域设置未配置

使用以下判断规则系统性地诊断操作系统级别的根本原因。

何时不使用此技能:对于 OpenClaw 特有的应用层问题(网关配置、API 密钥、模型配置、服务管理、systemd 单元),请使用 openclaw-diagnostic 技能。此技能仅涵盖操作系统级别的诊断。

诊断工作流程

  1. 1. 始终从第 1 节(系统环境基线)开始,建立上下文
  2. 然后运行与用户报告症状相关的章节
  3. 如果根本原因不明确,按顺序运行所有章节进行全面检查

命令:在 scripts/diagnostics.sh 中运行相应章节。以 root 身份运行,并设置 export LANG=C。
问题注册表:参见 reference.md 了解严重级别定义和完整的问题名称表。

数据访问范围 — 此技能收集操作系统级别的诊断数据。在敏感环境中运行前请审阅:

类别访问内容章节
系统配置文件/etc/os-release、/etc/resolv.conf、/etc/security/limits.conf、/etc/default/locale、/etc/locale.conf、/etc/systemd/journald.conf1、6、8、11、17
内核接口
/proc/meminfo、/proc/stat、/proc/loadavg、/proc/sys/fs/、/proc/sys/net/、/sys/kernel/mm/* | 2、3、5、6、7、14 |
| 内核环形缓冲区 | dmesg — 可能包含进程名称和 OOM 杀死详情 | 2、7、12 |
| Systemd 日志 | journalctl -k — 仅内核消息 | 2 |
| 日志目录 | /var/log/ 仅大小枚举(读取日志内容) | 11 |
| 进程和套接字表 | ps、ss -p — 暴露 PID、命令名称、套接字所有者 | 2、3、10、15 |
| 用户主目录 | /root/.cache/ms-playwright、/home/*/.cache/ms-playwright — 仅 Chromium 二进制文件搜索 | 16 |
| 出站网络探测 | DNS 解析测试(nslookup/dig/getent 到 github.com)、nameserver TCP/53 可达性、Chrome 无头启动测试(about:blank) | 8、16 |
| 写入操作 | 创建并立即移除 /tmp/.ocwritetest 以验证文件系统可写性 — 整个脚本中唯一的写入操作 | 12 |

输出格式:运行诊断后,以严重级别排序列表(致命 > 严重 > 错误 > 警告 > 信息)报告发现。对于每个发现的问题,包括:

  • - 问题名称(例如 OpenClaw.Memory.SystemMemoryCritical)
  • 严重级别
  • 观察值 vs 阈值
  • 推荐的修复措施



1. 系统环境基线

收集操作系统上下文以供后续分析。

判断规则

  • - 将输出记录为 OpenClaw.System.EnvironmentBaseline(信息)— 无问题,仅上下文。



2. 内存与 OOM

检测影响此服务器上任何工作负载的低内存和过去的 OOM 杀死事件。

判断规则

  • - MemAvailable / MemTotal < 5% → OpenClaw.Memory.SystemMemoryCritical(严重)

- 修复措施:杀死不必要的进程、添加交换分区或增加实例内存
  • - MemAvailable / MemTotal < 10% → OpenClaw.Memory.SystemMemoryLow(警告)

- 修复措施:密切监控;考虑扩容
  • - MemTotal < 2 GB → OpenClaw.Memory.InsufficientTotalMemory(错误)

- 修复措施:生产工作负载建议 4 GB+ 内存
  • - dmesg 包含 oom-killer → OpenClaw.Memory.OOMKillerEvent(警告)

- 修复措施:识别哪些进程被杀死;审查内存分配


3. CPU 与性能

资源争用导致响应缓慢;高 iowait 表示磁盘瓶颈。

判断规则

  • - 平均负载(1 分钟)> 2 倍 nproc → OpenClaw.CPU.SystemLoadHigh(警告)

- 修复措施:识别 CPU 消耗最高的进程;检查是否有失控进程
  • - CPU 空闲 < 10%(即总利用率 > 90%)→ OpenClaw.CPU.SystemCPUExhausted(严重)

- 修复措施:识别顶级进程;检查日志洪泛或计算风暴
  • - iowait > 30%(来自 /proc/stat)→ OpenClaw.CPU.HighIOWait(警告)

- 修复措施:检查磁盘 I/O — 可能是日志过多或磁盘密集型工作负载


4. 网络基础设施

基本网络配置、DNS、IPv6 和防火墙状态。

判断规则

  • - IPv6 已启用且服务绑定 :: 但上游仅解析为 IPv4 → OpenClaw.Network.IPv6Mismatch(警告)

- 修复措施:设置 NODEOPTIONS=--dns-result-order=ipv4first 或 sysctl -w net.ipv6.conf.all.disableipv6=1


5. 磁盘与 inotify

磁盘空间耗尽和 inotify 限制导致 ENOSPC 错误。

判断规则

  • - 任何文件系统使用率 >= 95% → OpenClaw.Disk.FilesystemFull(严重)

- 修复措施:清理旧日志和数据;扩展分区或添加磁盘
  • - 任何文件系统使用率 >= 80% → OpenClaw.Disk.FilesystemHighUsage(警告)

- 修复措施:监控;计划清理或扩容
  • - maxuserwatches < 65536 → OpenClaw.Disk.InotifyWatchesTooLow(错误)

- 修复措施:echo fs.inotify.maxuserwatches=524288 >> /etc/sysctl.d/99-inotify.conf && sysctl -p /etc/sysctl.d/99-inotify.conf
  • - maxuserinstances < 256 → OpenClaw.Disk.InotifyInstancesTooLow(警告)

- 修复措施:echo fs.inotify.maxuserinstances=512 >> /etc/sysctl.d/99-inotify.conf && sysctl -p /etc/sysctl.d/99-inotify.conf


6. 文件描述符与进程限制

低 ulimit 值在高负载下导致 too many open files(EMFILE)错误。

判断规则

  • - Shell ulimit -n < 4096 → OpenClaw.Limits.NofileTooLow(错误)

- 修复措施:在 /etc/security/limits.conf 中添加 soft nofile 65536 和 hard nofile 65536;重新登录
  • - limits.conf nofile 值 > fs.nr_open → OpenClaw.Limits.NofileExceedsKernelMax(严重)

- 修复措施:首先增加 fs.nropen:sysctl -w fs.nropen=1048576 并在 /etc/sysctl.d/ 中持久化
  • - file-nr 已分配 / 最大值 > 80% → OpenClaw.Limits.SystemFileDescriptorsHigh(警告)

- 修复措施:识别持有大量 FD 的进程(ls /proc/*/fd 2>/dev/null | wc -l);必要时增加 fs.file-max


7. 内核与 Sysctl

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 linux-system-health-1776113231 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 linux-system-health-1776113231 技能

通过命令行安装

skillhub install linux-system-health-1776113231

下载

⬇ 下载 linux-system-health v1.2.1(免费)

文件大小: 17.8 KB | 发布时间: 2026-4-17 15:14

v1.2.1 最新 2026-4-17 15:14
linux-system-health 1.3.0 — Adds robust dependency and data disclosure details.

- Expanded required and optional system binary lists for broader diagnostics coverage.
- Updated readme with a clear data access scope table, showing exactly what is accessed in each section.
- Improved transparency for sensitive environments; full explanation of read-only and the single write test.
- No core diagnostic logic changes; output and workflow remain the same.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部