Node.js 为什么AWS Elastic Beanstalk在运行“assets:precompile”时部署失败是因为;“内存不足的进程”;当它在SSH上工作时?
希望这里有人能帮我。Node.js 为什么AWS Elastic Beanstalk在运行“assets:precompile”时部署失败是因为;“内存不足的进程”;当它在SSH上工作时?,node.js,amazon-web-services,webpack,amazon-ec2,amazon-elastic-beanstalk,Node.js,Amazon Web Services,Webpack,Amazon Ec2,Amazon Elastic Beanstalk,希望这里有人能帮我。 我已经在AWS Elastic Beanstalk上部署了一个超级简单的Rails 6应用程序,它带有webpacker。接下来,我在我的.ebextensions/配置文件中添加了一个container_命令: [...] container_commands: 01_precompile: command: bundle exec rake assets:precompile 我想补充一点,只要我添加到我的应用程序中的是Bootstrap 4和字体真棒,这
我已经在AWS Elastic Beanstalk上部署了一个超级简单的Rails 6应用程序,它带有
webpacker
。接下来,我在我的.ebextensions/
配置文件中添加了一个container_命令
:
[...]
container_commands:
01_precompile:
command: bundle exec rake assets:precompile
我想补充一点,只要我添加到我的应用程序中的是Bootstrap 4和字体真棒,这在很多部署中都很有效。然后我将
plotly.js cartesian dist min
添加到我的package.json并重新部署。现在,我的t2.micro-EC2在每次部署时都会爆炸,并在上面的命令中抛出一个错误,看起来很像内存不足:
Application update failed at 2020-09-17T17:22:29Z with exit status 1 and error: container_command 08_precompile in .ebextensions/packages.config failed.
yarn install v1.22.5 [1/4]
Resolving packages... success
Already up-to-date.
Done in 0.98s.
I, [2020-09-17T17:15:46.973099 #7938] INFO -- : Writing /var/app/ondeck/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js
I, [2020-09-17T17:15:46.973347 #7938] INFO -- : Writing /var/app/ondeck/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js.gz
I, [2020-09-17T17:15:46.973491 #7938] INFO -- : Writing /var/app/ondeck/public/assets/application-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css
I, [2020-09-17T17:15:46.973578 #7938] INFO -- : Writing /var/app/ondeck/public/assets/application-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css.gz
Compiling...
Compilation failed:
<--- Last few GCs --->
[7984:0x3ce65d0] 400787 ms: Scavenge 426.7 (535.4) -> 418.6 (535.4) MB, 12.0 / 0.0 ms allocation failure
[7984:0x3ce65d0] 400832 ms: Scavenge 437.1 (542.1) -> 428.8 (542.1) MB, 3.7 / 0.0 ms allocation failure
[7984:0x3ce65d0] 401135 ms: Scavenge 446.3 (551.1) -> 432.3 (551.1) MB, 9.5 / 4.1 ms allocation failure
[7984:0x3ce65d0] 401267 ms: Scavenge 452.3 (555.5) -> 446.4 (556.0) MB, 22.5 / 1.9 ms allocation failure
<--- JS stacktrace --->
Cannot get stack trace in GC. FATAL ERROR: NewSpace::Rebalance Allocation failed - process out of memory
1: node::Abort() [node]
2: 0x8cd49c [node]
3: v8::Utils::ReportOOMFailure(char const*, bool) [node]
4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [node]
5: 0xa6813b [node]
6: v8::internal::MarkCompactCollector::Evacuate() [node]
7: v8::internal::MarkCompactCollector::CollectGarbage() [node]
8: v8::internal::Heap::MarkCompact() [node]
9: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [node]
10: v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
11: v8::internal::Factory::NewUninitializedFixedArray(int) [node]
12: 0xd84573 [node]
13: v8::internal::Runtime_GrowArrayElements(int, v8::internal::Object**, v8::internal::Isolate*) [node]
14: 0x3103ac0042fd.
现在,让我烦恼的是:当我
eb-SSH
container\u命令失败的文件夹(cd/var/app/ondeck
)
sudo su
并运行bundle exec rake资产:预编译
container\u命令
能够利用它所需的内存量吗?顺便说一句,我已经尝试在我的电子商务环境中设置
NODE\u OPTIONS=“--max old space size=350”
。在200MB到650MB的范围内,它仍然会崩溃
{
"name": "my_app",
"private": true,
"dependencies": {
"@fortawesome/fontawesome-free": "^5.14.0",
"@rails/actioncable": "^6.0.0",
"@rails/activestorage": "^6.0.0",
"@rails/ujs": "^6.0.0",
"@rails/webpacker": "4.2.2",
"bootstrap": "^4.5.2",
"ify-loader": "^1.1.0",
"jquery": "^3.5.1",
"plotly.js-cartesian-dist-min": "^1.55.2",
"popper.js": "^1.16.1",
"turbolinks": "^5.2.0"
},
"version": "0.1.0",
"devDependencies": {
"webpack": "^4.44.1",
"webpack-dev-server": "^3.11.0"
}
}