1102 policy resource_error ai_generated true

错误:Worker超出内存限制。已用内存:128 MB,内存限制:128 MB

Error: Worker exceeded memory limits. Memory used: 128 MB, Memory limit: 128 MB

ID: policy/cloudflare-worker-memory-limit-exceeded

其他格式: JSON · Markdown 中文 · English
75%修复率
90%置信度
1证据数
2024-01-10首次发现

版本兼容性

版本状态引入弃用备注
Cloudflare Workers runtime 2024-01-01 active
wrangler 3.50.0 active

根因分析

Cloudflare Workers每个请求有128 MB内存限制;worker尝试分配超过可用内存,导致终止。

English

Cloudflare Workers have a 128 MB memory limit per request; the worker attempted to allocate more than available, causing termination.

generic

官方文档

https://developers.cloudflare.com/workers/platform/limits/

解决方案

  1. 通过流式处理大响应而不是缓冲来优化内存使用。示例:使用response.body.pipeTo(writable)而不是将整个主体读入内存。
  2. 将worker拆分为多个较小的worker,处理请求的不同部分,减少每个请求的内存占用。

无效尝试

常见但无效的做法:

  1. Increase the memory limit in wrangler.toml 100% 失败

    Cloudflare Workers memory limit is fixed at 128 MB per request for all plans; cannot be increased.

  2. Enable auto-scaling to use more memory 100% 失败

    Workers don't support auto-scaling per request; each request is isolated and limited to 128 MB.