推送到IBM Cloud时退出状态223(内存不足)

时间:2018-02-14 16:55:42

标签: out-of-memory ibm-cloud cloudfoundry

我在本地开发环境中部署应用时遇到了麻烦。我的cf push始终失败并出现Exit status 223 (out of memory)错误(无论应用程序如何)。

我确信我的IBM Cloud Org和我的本地环境都有足够的空间可以使用。

这是堆栈跟踪:



REQUEST: [2018-02-14T09:02:04-05:00]
GET /v2/apps/7426064e-0d6c-469e-8d6d-01e47728be01 HTTP/1.1
Host: api.ng.bluemix.net
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
Connection: close
Content-Type: application/json
User-Agent: go-cli 6.32.0+0191c33d9.2017-09-26 / darwin


  10% building modules 8/17 modules 9 active ...node_modules/fbjs/lib/containsNode.js   
 89% additionsets processing                                      Hash: 9d08b2614d7a87cb99ad              
       Version: webpack 2.7.0
       js/bundle.9d08b2614d7a87cb99ad.js     297 kB       0  [emitted]  [big]  main
       js/bundle.9d08b2614d7a87cb99ad.js.map     466 kB       0  [emitted]         main
       index.html  304 bytes          [emitted]
       [0] ./~/react/index.js 190 bytes {0} [built]
       [4] ./client/app/App.jsx 858 bytes {0} [built]
       [5] ./~/react-dom/index.js 1.36 kB {0} [built]
       [6] ./client/default.scss 1.03 kB {0} [built]
       [8] ./~/css-loader!./~/sass-loader/lib/loader.js!./client/default.scss 193 kB {0} [built]
       [9] ./~/css-loader/lib/css-base.js 2.26 kB {0} [built]
       [12] ./~/fbjs/lib/containsNode.js 923 bytes {0} [built]
       Time: 73789ms
       Asset       Size  Chunks                    Chunk Names
       [7] ./client/index.jsx 222 bytes {0} [built]
       [10] ./~/fbjs/lib/EventListener.js 2.25 kB {0} [built]
       [11] ./~/fbjs/lib/ExecutionEnvironment.js 935 bytes {0} [built]
       [13] ./~/fbjs/lib/focusNode.js 578 bytes {0} [built]
       [14] ./~/fbjs/lib/getActiveElement.js 912 bytes {0} [built]
       [18] ./~/react-dom/cjs/react-dom.production.min.js 92.7 kB {0} [built]
       [19] ./~/react/cjs/react.production.min.js 5.41 kB {0} [built]
       [20] ./~/style-loader/addStyles.js 6.91 kB {0} [built]
       + 6 hidden modules
       Child html-webpack-plugin for "index.html":
       [0] ./~/lodash/lodash.js 540 kB {0} [built]
       [1] ./~/html-webpack-plugin/lib/loader.js!./client/index.html 590 bytes {0} [built]
       [2] (webpack)/buildin/global.js 509 bytes {0} [built]
       [3] (webpack)/buildin/module.js 517 bytes {0} [built]
-----> Build failed

Failed to compile droplet: Failed to compile droplet: exit status 137
Exit status 223 (out of memory)
Staging failed: STG: Exited with status 223 (out of memory)
Stopping instance 0ee88ef2-8cd4-4096-9c3c-dee1870cf758
Destroying container
Successfully destroyed container




有没有人遇到过这个问题?有没有人对可能出现的问题有任何想法?

3 个答案:

答案 0 :(得分:1)

以下是您可以尝试的内容:

  • 重新启动应用
  • 重新安装npm软件包(npm install)
  • 更新节点,npm版本
  • 增加IBM Cloud上的应用程序空间
  • 减少应用使用的总体内存
  • 寻找可能的内存泄漏
  • 包的可能问题(webpack等)

这对我有用

在我的NodeJS package.json中,我添加了:

"engines": {
  "node": ">= 7.0.0",
  "npm": ">= 4.2.0"
}

我认为问题出在IBM Cloud的默认npm版本上,而不是我在本地环境中使用的版本。一旦我在package.json中指定了版本,IBM Cloud就能够完成构建和部署。

如果人们更好地了解错误是什么以及此解决方案的工作原因,请分享。

答案 1 :(得分:0)

请检查应用程序的可用内存。 并检查您的应用程序是否产生任何内存泄漏。

最快的尝试是:

您可以增加应用的内存分配。

  • 登录Cloud的信息中心。
  • 选择您的应用并增加MEMORY QUOTA。
  • 这将重启应用程序。
  • 再试一次。

答案 2 :(得分:0)

错误是说暂存失败了,因为进程占用了太多内存。简而言之,正在运行的任何内容都超过了暂存容器的内存限制。

Failed to compile droplet: Failed to compile droplet: exit status 137
Exit status 223 (out of memory)
Staging failed: STG: Exited with status 223 (out of memory)

你有三种方法可以解决这个问题。

  1. Cloud Foundry会将暂存容器的内存限制设置为操作员定义的值或您为应用选择的内存限制大小,以较大者为准。我不能说操作员为您的平台定义了什么限制,但您可以通过简单地设置更大的内存限制来解决这个问题。只需尝试使用较大的值再次推送,直到成功为止。然后在推送成功后,您可以cf scale -m并将内存限制降低到运行时所需的内容。

  2. 另一种选择是查看构建脚本或任何运行以暂存应用程序,并努力减少所需的内存。使其消耗更少的内存也应解决此问题。

  3. 最后,您可以在本地暂存您的应用。为此,您将在本地计算机上运行构建脚本,然后推送最终产品。您不能完全跳过暂存过程,但如果事情已经准备好运行,那么暂存通常会成为无操作。

  4. 希望有所帮助!