批量生成商品缩略图时CLI被Killed或报Allowed memory size exhausted。不要只无限提高memory_limit,要先找异常原图和并发压力。

实际处理步骤

  1. 记录最后处理文件并用identify检查像素尺寸、色彩空间和文件是否损坏;小体积图片也可能解码占用数百MB。
  2. 隔离超大或损坏原图,重新压缩后再上传;同时确认GD或ImageMagick版本及临时目录空间。
  3. 在非高峰以单进程或受控批次执行,避免多个resize与部署任务同时争抢内存。
  4. 调整CLI memory_limit后监控峰值RSS,生成完成再清理旧缓存,不能删除catalog/product原图。

检查命令

find pub/media/catalog/product -type f -size +20M -printidentify -format '%w %h %m %f\n' pub/media/catalog/product/x/y/image.jpgphp -d memory_limit=2G bin/magento catalog:images:resize

验证结果

全量命令正常结束,随机抽查各主题尺寸均可访问,日志无坏图且服务器未发生OOM Kill。