运行时

运行时资源守卫

使用 Token、内存、进程数和空闲监控保护 Agent 任务与运行时宿主机。

运行时资源守卫

资源守卫监控已运行的 Agent 任务,防止 Token 异常消耗、内存泄漏、无限循环和 fork bomb。它不负责调度并发槽位;并发限制属于 Daemon

监控项

守卫默认约束行为
Token 预算单任务净 Token 2.5M、总 Token 30M、300 turns80% 告警;达到硬限制时终止任务。
Token 消耗速率5 分钟 300k Token检测短时间异常消耗。
内存单任务 RSS 4 GiB、运行时总量 10 GiB80% 告警;超限后经过宽限期终止。
进程数单任务 200递归检查子进程,限制 fork bomb。
空闲MOPHEUS_AGENT_IDLE_WATCHDOG没有输出且没有进行中工具调用时终止停滞任务。

采集与终止

Linux 上优先使用 cgroup v2 获取内存指标,并在需要时终止整个任务 cgroup。无法使用 cgroup 时,Daemon 回退到 /proc 采样并记录一次告警。资源守卫的终止是任务失败原因之一,不等同于 Daemon 并发调度或工作目录 GC。

诊断

告警和强制终止会同时写入本地诊断记录并上报控制面。管理员可使用以下命令查看任务的资源诊断:

mopheus runtime guard explain <task-id>

配置与诊断

runtime_guard 功能开关控制系统级可用性(disabledselectedenabled)。守卫配置依次取自代码默认值、工作区或 Runtime 策略、Agent 专属覆盖和 MOPHEUS_GUARD_* 宿主机环境变量;宿主机环境变量优先级最高。单任务的实际内存上限同时受单任务与 Runtime 总量限制。

工作区管理员可用 mopheus runtime guard config {get|set|reset} 查看或修改策略,并用 showstatseventsexplain 查看活动资源与事后诊断。