跳转到内容
搜索文档

更新日志

Cloudflare 的最新更新与改进。

Back to all posts

在仪表板中跟踪 Workers 和 Durable Objects 的内存使用情况

您现在可以使用 Workers 指标(Metrics)选项卡中新增的 Memory Usage(内存使用情况) 图表,监控您的 WorkersDurable Objects 在多次调用中消耗了多少内存,图表按 P50、P90、P99 和 P999 百分位数进行了细分。

内存使用情况图表显示了带有部署标记的 P50、P90、P99 和 P999 百分位数

内存使用情况测量的是每次调用时的 V8 isolate 内存,受限于 每个 isolate 128 MB 的限制 —— 单个 isolate 可以处理许多并发请求并在它们之间共享内存。

使用内存使用情况图表可以:

  • 跟踪内存趋势 —— 在导致 Exceeded Memory(超出内存)错误之前,发现可能表明存在内存泄漏的渐进式内存增加。
  • 与部署关联 —— 图表上的部署标记可帮助您确定新版本是否引入了内存回归。
  • 合理调整您的 Worker 规模 —— 了解您的基准内存占用量,以及在达到 128 MB 限制之前您还有多少余量。

对于 Durable Objects,内存使用情况反映了对象保存的内存中状态(类属性、缓存、活动的 WebSocket 连接),该状态在多次调用之间保持不变,直到对象被休眠或逐出。在逐出、休眠或崩溃时,此状态不会保留,因此请将任何重要内容持久化保存到存储中。

要查看内存使用情况,请打开您的 WorkerDurable Object 命名空间Metrics(指标) 选项卡。对于 Durable Objects,您可以按 DO ID 或名称进行过滤,以深入查看特定对象的内存使用情况。您还可以通过 GraphQL Analytics API 使用 workersInvocationsAdaptive 数据集以编程方式查询内存使用情况 —— 从 quantiles.memoryUsageBytesP50quantiles.memoryUsageBytesP999 的字段以字节为单位返回百分位数。

对于本地内存调试,您还可以使用 DevTools 剖析内存以获取堆快照并识别导致高内存占用的特定对象。