You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda中Puppeteer-Core与Chromium报Unknown system error -8求助

AWS Lambda中Puppeteer-Core与@sparticuz/chromium启动失败排查

问题背景

  • 原环境:puppeteer-core v19.4 + @sparticuz/chromium v109.0.5,在AWS Lambda上运行正常达1个月
  • 近期出现启动失败,Serverless控制台报错,单独运行代码也抛出Error: spawn Unknown system error -8
  • 升级至puppeteer-core v21.3 + @sparticuz/chromium v117.0.0后,问题未解决

错误信息

系统spawn错误

{
  errno: -8,
  code: 'Unknown system error -8',
  syscall: 'spawn'
}

浏览器初始化错误

{
    "errorMessage": "No browser!",
    "errorType": "Error",
    "stackTrace": [
        "Error: No browser!",
        // 栈追踪省略
    ]
}

初始化代码

const puppeteer = require("puppeteer-core");
const chromium = require("@sparticuz/chromium");

( async () => { try {
  const browser = await puppeteer.launch({
    args: chromium.args,
    defaultViewport: chromium.defaultViewport,
    executablePath: await chromium.executablePath(),
    headless: chromium.headless,
    ignoreHTTPSErrors: true,
  });

  const page = await browser.newPage();

  await page.goto("https://www.google.com", { waitUntil: "networkidle0" });

  console.log("Chromium:", await browser.version());
  console.log("Page Title:", await page.title());

  await page.close();

  await browser.close();
} catch (error) {
  throw new Error(error.message);
}})();

解决方案

1. 提升Lambda内存配置

errno -8最常见原因是内存不足,Chromium启动需要至少1GB内存,建议调整Lambda内存至1.5GB或更高,同时对应调整CPU配额(Lambda内存与CPU成正比)。

2. 优化Chromium启动参数

添加内存优化与兼容参数,修改args配置:

args: [...chromium.args, "--disable-dev-shm-usage", "--single-process", "--no-sandbox"]
  • --disable-dev-shm-usage:避免Lambda中/dev/shm空间不足的问题
  • --single-process:以单进程模式运行,降低内存占用
  • --no-sandbox:关闭沙箱(Lambda环境下可安全使用,减少启动开销)

3. 检查运行时兼容性

确保Lambda使用的Node.js版本与库兼容,推荐使用Node.js 16.x或18.x,避免过旧或过新的运行时导致二进制文件不兼容。

4. 验证部署包/层的完整性

  • 如果使用Lambda层部署@sparticuz/chromium,确保层的版本与代码中的库版本一致
  • 打包时避免压缩或修改Chromium二进制文件的执行权限,可使用serverless-webpack等工具确保打包正确

5. 增加错误日志排查

在catch块中打印完整错误信息,帮助定位具体问题:

catch (error) {
  console.error("完整错误信息:", error);
  throw new Error(error.message);
}

内容的提问来源于stack exchange,提问作者Fox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 07:47:27