AITM 提供实时资源监控视图,可随时查看当前究竟有哪些内容在运行、在等待以及在占用资源—既有助于诊断 Task 为何卡在等待状态,也能在崩溃之前发现资源压力。
Resource Monitor
监控所依据的各项限制在 Settings → Watchdog & Resources 中设置(Disk Janitor 保留期、Disk Watchdog 的 GB 预算、测试 CPU/RAM 预留);并发运行的 Task 数量则在 Settings → Pipeline → Max concurrently running tasks 中设置。下文所述的资源池槽位是内部资源槽位,并非许可证的项目槽位。
“Queued”标签页
监控栏中的“Queued”标签页列出了在被选中执行之前处于等待状态的 Task。
执行快照与状态栏“Pools”分段
状态栏的“Pools”分段会显示实时执行快照:对每个正在执行或等待中的 Task,显示 waitKind(所等待的资源类型)和 waitedMs(已等待的时长),以及当前占用槽位的资源池持有者,并附有准入/压力指示器,便于在 Task 开始排队之前就看出某个资源池是否出现争用。
Threads 面板—基于实测 RSS 的资源池容量
通用化的 Threads 面板按资源池显示各个持有者及其 PID 和实测 RSS(常驻内存),因此资源池容量是依据真实测得的内存使用量确定的,而不是静态估算。
tmpfs 指标
Resource Monitor 界面还会显示 tmpfs(内存文件系统)的使用指标,可将内存型磁盘压力与进程/资源池压力放在一起对照查看。
全局测试运行器槽位池
Threads 面板还会显示全局测试运行器槽位池,即整个项目范围内有多少测试执行槽位正在使用,从而判断某个 Task 的测试步骤是否因所有测试运行器槽位均被占用而在等待。
提示
- 在认定 Task 卡住之前,先查看 Pools 分段中的 waitKind—它可能只是在等待一个繁忙的资源池。
- 利用 Threads 面板中每个持有者的 RSS,可在失控进程触发 OOM 之前发现它。
- 如果 Queued 标签页中的数量持续增长,请查看资源池压力指示器以找出瓶颈。