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

Magento 2.4执行cache:clean耗尽16G内存致系统挂起求助

解决Magento 2.4执行cache:clean时内存耗尽的问题

我碰到过好几次类似的情况,尤其是把生产环境的代码拉到本地开发环境后,很容易出现CLI模式下PHP内存占用异常的问题。结合你的环境(Ubuntu 18.04 + PHP7.4 + Magento 2.4),试试下面这些针对性的解决方案:

1. 临时给CLI命令分配无限制内存

有时候本地PHP的CLI配置内存限制没生效,或者优先级不够,直接在执行命令时强制指定内存参数:

php -d memory_limit=-1 bin/magento cache:clean

-1表示不限制内存,先跑这个命令确认是不是单纯的内存限制问题。

2. 修正PHP CLI的核心配置

Ubuntu下PHP7.4的CLI配置文件路径是/etc/php/7.4/cli/php.ini,打开文件调整以下参数:

  • 找到memory_limit,将其修改为-1(无限制)或者足够大的值(比如4G,Magento大型项目确实需要较高内存)
  • 检查opcache.enable_cli,如果是On就改成Off——CLI模式下opcache容易导致内存异常堆积
  • 保存后重启PHP-FPM(如果你的环境用到了):sudo systemctl restart php7.4-fpm

3. 禁用Xdebug(本地开发常见坑)

本地开发时开启的Xdebug会大幅增加PHP内存占用,尤其是执行Magento CLI命令时:

  • 临时禁用:执行命令前加上Xdebug关闭参数:
    php -d xdebug.mode=off bin/magento cache:clean
    
  • 永久修改CLI配置:在/etc/php/7.4/cli/php.ini中找到Xdebug相关配置,把xdebug.mode设为off,或者直接注释掉Xdebug的扩展加载行

4. 优化本地数据库数据量

如果你的本地数据库是从生产环境完整同步过来的,大量冗余数据会导致Magento清理缓存时加载过多配置信息:

  • 确认app/etc/env.php中的数据库连接配置正确
  • 考虑使用生产环境的精简版数据库(只保留核心配置和基础业务数据),或者手动清理日志表、冗余订单数据

5. 修复文件权限异常

权限错误可能导致缓存清理时出现异常逻辑,执行以下命令修复Magento文件权限:

sudo chown -R www-data:www-data .
find var generated pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated pub/static pub/media app/etc -type d -exec chmod g+ws {} +

6. 手动清理缓存文件后重新生成

如果以上方法都没效果,试试彻底清空缓存文件后重新初始化:

rm -rf var/cache/* var/page_cache/* generated/* pub/static/frontend/* pub/static/adminhtml/*
php bin/magento setup:static-content:deploy -f
php bin/magento cache:flush

这些方法基本能覆盖你遇到的内存耗尽场景,我之前帮同事处理过好几次类似问题,大部分都是CLI内存限制没配置到位或者Xdebug拖了后腿。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 20:02:29