Composer proc_open():分叉失败 - 无法分配内存

2024-03-04

我在运行时遇到与其他人相同的错误php ~/composer.phar update:

The following exception is caused by a lack of memory and not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details
Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:974
Stack trace:
0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///home/te...', 974, Array)
1 phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php(974): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
2 phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php(784): Symfony\Component\Console\Application->getSttyColumns()
3 phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php(745): Symfony\Component\Console\Application->getTerminalDimensions()
4 phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php(675): Symfony\Component\Console\Application->getTerminalWidth()
5 phar:///home/tea/composer in phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php on line 974

...但是有一个large实例:4GB RAM 和 4GB 交换空间。可用 RAM 永远不会耗尽,更不用说可用/缓存 RAM,并且交换区不会被触及!

              total        used        free      shared  buff/cache   available
Mem:           3788         885        1908           9         993        2692
Swap:          3967           0        3967

这是第一次在这台新机器 CentOS/CloudLinux 7.1(带 cPanel)上运行 Composer 更新。

无奈之下我曾尝试过# php -dmemory_limit=1G ../composer.phar update --no-scripts --prefer-dist我尝试删除composer.lock和供应商文件,甚至尝试添加临时交换文件但看起来确实不是内存问题- 该错误是否可能被误导?

proc_open 没有被禁用,我也尝试禁用 shell fork 炸弹保护,但没有 jive。

希望大家注意。

注意:我知道提交composer.lock文件并进行composer安装的建议,但是这个实例用于开发(就像之前的CentOS/CloudLinux 6.x机器,资源规格较小),所以我们需要使用我们之前使用的方法相同。


好吧,CloudLinux 将用户的内存限制为 1024mb,因为当限制加倍到 2048mb 时它就会起作用。

这与我们之前的服务器 (CentOS/CloudLinux 6.x) 上的设置相同,但看起来每个版本的 CentOS 都比其他版本更需要内存。

奇怪的是,使用--profile运行composer显示它使用的最多是482mb。即使分叉时它翻倍(如建议的那样),仍然低于 1024mb 限制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Composer proc_open():分叉失败 - 无法分配内存 的相关文章

  • 在 bootstrap/compiled.php 中找不到 Laravel 4 类

    我已经使用 Git 创建了一个新分支 对我的代码应用了一些更新 在我的临时服务器上检查了该分支 现在我无法运行任何与 Composer 相关的内容 我已经在composer json中添加了一些新的包 这些包适用于我的开发环境 但是一旦我尝
  • 如何从供应商目录生成 laravelcomposer.json? [复制]

    这个问题在这里已经有答案了 在我的 Laravel 项目中composer json and composer lock文件被删除了 不知道如何重建composer json从现有的文件vendor目录 Note 使用此方法的缺点是主com
  • git 分支切换 Laravel 时发生 ReflectionException 类不存在

    因此 在决定创建此问题之前 我阅读了大约 100 篇有关此问题的帖子 这个问题实际上非常具体 并且 100 可重现 我创建了一个 git 分支 我们可以称之为storeUpdate 在这个分支中我创建了一个名为 app Http Contr
  • 是什么导致我的 SDL2 程序中出现杂散像素?

    我发现使用 SDL2 绘制的对象上附加了很多杂散像素 添加额外像素的对象包括线条 填充矩形以及转换为纹理的 TTF 文本 这SDL RenderFillRect https wiki libsdl org SDL RenderFillRec
  • GCC Linker:如何在输出部分生成每个文件贡献的报告

    最近我在尝试链接我的程序时遇到了一个问题 它报告 text无法放入指定的内存区域 显然 源代码变得太大而无法在有限的内存区域中链接 我现在要做的是分析哪个文件对 text 部分贡献最大 以便进行后续代码优化 我尝试了很多方法但没有成功 nm
  • 如何在 CentOS 7.2 上使用 yum 安装 gcc 5.3?

    我使用的是CentOS 7 2 当我使用yum groupinstall Development Tools gcc版本是4 8 5 像这样 我想安装 gcc 5 3 如何解决这个问题yum Update 通常人们想要最新版本的 gcc 并
  • Java 8 构造函数参考的可怕性能和大堆占用?

    我刚刚在我们的生产环境中经历了一次相当不愉快的经历 导致OutOfMemoryErrors heapspace 我将问题追溯到我的使用ArrayList new在一个函数中 验证这实际上比通过声明的构造函数正常创建执行得更差 t gt ne
  • 作曲家更新 -vvv 不起作用

    我已经在 ubuntu 14 04 上全局安装了 Composer 当我跑步时作曲家 版本它适用于以下输出 Composer version 1 0 dev 45b1f356c24d87788a339f6a50d6d78bef464c47
  • 如何开发依赖的 Composer 包而不需要提交或发布更改?

    我有一个应用程序 A 它有一个composer json 文件 定义了对包 P 的依赖关系 这是我自己的新闪亮包 我的包 P 有一个composer json 文件 它定义了对库 L 和框架 F 的依赖关系 我的包 P 还没有远程存储库 并
  • Spark清理shuffle溢出到磁盘

    我有一个循环操作 它生成一些 RDD 进行重新分区 然后进行聚合键操作 循环运行一次后 它会计算出最终的 RDD 该 RDD 会被缓存和检查点 并用作下一次循环的初始 RDD 这些 RDD 非常大 并且在每次迭代到达最终 RDD 之前都会生
  • Maven 内存不足构建失败

    截至今天 我的 Maven 编译失败 INFO ERROR Unexpected INFO java lang OutOfMemoryError Java heap space INFO at java util Arrays copyOf
  • 使用 Composer 安装 PEAR 扩展 HTTP_Request2

    我有一个composer json file name vendor Project description description text repositories type pear url http pear php net req
  • 从 Perl“内存不足”错误获取堆栈跟踪

    tl dr 当 Perl httpd 进程内存不足时如何转储 Perl 堆栈跟踪 我们有一台 mod perl 2 服务器 Perl 5 8 8 RHEL 5 6 Linux 2 6 18 非常偶然且不可预测的情况是 子 httpd 进程开
  • Laravel psr-4 不自动加载

    我有一个在本地运行良好的 Laravel 项目 Mavericks 但 psr 4 下的类未加载到我们的阶段服务器 CentOS 上 每次尝试作曲家更新或运行 artisan 命令时 我都会收到反射 未找到类 错误 我所有的应用程序特定类都
  • 如何使用 devtoolset-8-gcc 安装 gcc8

    我使用的是 CentOS Linux 版本 7 3 1611 其中安装了 gcc 4 8 5 20150623 我正在寻找一种安装较新版本的 gcc 的方法 特别是 8 1 我找到了以下关于如何安装 gcc v7 的网站link 1 htt
  • 如何在Android中加载大图像并避免内存不足错误?

    我正在开发一个使用大图像的应用程序 1390 870 150kb 50kb 我在点击触发器 ImageView 时添加图像 在某个时刻我遇到内存不足错误 java lang OutOfMemoryError E AndroidRuntime
  • Heroku 无法将我的 Laravel 应用程序识别为 PHP 应用程序,并且不进行 Composer 安装

    我正在尝试在 Heroku 上发布我的 Laravel 应用程序 我已从 gitignore中排除了composer lock文件 并创建了一个包含 web vendor bin heroku php apache2 public 我创建了
  • yii2 作曲家更新致命错误

    当我更新我的作曲家以添加yii2 solr扩展我的项目时 我遇到如下错误 The yiisoft yii2 composer plugin requires composer plugin api 1 0 0 this WILL break
  • 我的代码中出现内存不足异常

    作为 Oracle 数据库压力测试的一部分 我正在长时间运行代码并使用 java 版本 1 4 2 简而言之 我正在做的是 while true Allocating some memory as a blob byte data new
  • 将 bootstrap 添加到 symfony 应用程序的正确方法是什么?

    我正在使用 symfony 框架 3 来开发 Web 应用程序 我需要将 boostrap 的功能添加到我的应用程序中 我使用以下命令安装了引导程序 我正在使用作曲家 composer require twbs bootstrap 它将 b

随机推荐