我正在Kubernetes pod中以生产模式运行reactJs应用程序。容器运行时是docker。Pod状态为"正在运行",但仍然没有UI。此外,当我检查日志时,我看到下面的JS stacktrace错误。为了运行React应用程序,我给出了以下命令
"build":"设置max_old_space_size=8192&;webpack--模式生产--max_old_space_size=8192&;serve-s dist-l 3000";
我在pod日志中看到的错误是
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
<---最后几个GC--->
[114:0x5632d5a724a0] 27622 ms: Scavenge (reduce) 597.8 (600.3) -> 597.3 (600.3) MB, 3.2 / 0.0 ms (average mu = 0.185, current mu = 0.145) allocation failure
[114:0x5632d5a724a0] 27627 ms: Scavenge (reduce) 598.1 (600.3) -> 597.5 (600.6) MB, 2.4 / 0.0 ms (average mu = 0.185, current mu = 0.145) allocation failure
问题是--max_old_space_size
是MB,根据您的问题,您将通过8192,但您的pod的资源限制为1024。
您需要执行以下操作之一:
- 更改您的吊舱规格以保留超过8192的数量
- 更改命令以将
--max_old_space_size
设置为1024以下的值 - 或者两者都改,但你需要确保你的吊舱有足够的内存
如果您只是完全删除两个max_old_space_size
,会发生什么?你真的需要覆盖这个吗?