内存不足 - Google Kubernetes
Out of memory - Google Kubernetes
我有一个自动驾驶仪集群,应该按需增加 cpu/memory 但我仍然收到以下错误
我没有在部署中定义任何 limits/resources。我依靠 Google 自动处理。
这是一个节点应用程序,可以读取大型 csv 文件 (300-400mb),解析它们并将它们插入到 mysql db(使用 typeorm)
它似乎适用于较小的文件。文件被一个接一个地读取。
在这种情况下,有超过 1200 个文件(不是所有的 300-400mb 大小,但相当多)
似乎并没有像我想象的那样工作....
这是js代码有问题还是我只需要手动增加内存?
<--- Last few GCs --->
[1:0x7f9fde9bf330] 4338991 ms: Scavenge (reduce) 955.5 (1037.2) -> 955.5 (1037.2) MB, 7.1 / 0.0 ms (average mu = 0.295, current mu = 0.279) allocation failure
[1:0x7f9fde9bf330] 4339001 ms: Scavenge (reduce) 956.9 (1037.7) -> 956.9 (1038.0) MB, 7.6 / 0.0 ms (average mu = 0.295, current mu = 0.279) allocation failure
[1:0x7f9fde9bf330] 4339011 ms: Scavenge (reduce) 958.1 (1038.0) -> 958.1 (1038.5) MB, 7.7 / 0.0 ms (average mu = 0.295, current mu = 0.279) allocation failure
<--- JS stacktrace --->
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
I have not defined any limits/resources in the deployment. I am relying on Google to handle that automatically.
我不认为那是真的。从 docs 复制粘贴:
“Autopilot 依赖于您在部署配置中指定的内容来供应资源。如果您没有为 Pod 中的任何容器指定资源请求,Autopilot 会应用默认值。这些默认值旨在为您的 Pods 中的容器提供一个平均资源量,适用于许多较小的工作负载。"
还有:“重要提示:Google 建议您明确设置每个容器的资源请求以满足您的应用程序要求,因为这些默认值可能不够或最佳。”
所以很可能默认资源请求和限制对于您的应用程序来说太低了。您应该将它们设置为足够高的值,以免 运行 内存不足。
我有一个自动驾驶仪集群,应该按需增加 cpu/memory 但我仍然收到以下错误
我没有在部署中定义任何 limits/resources。我依靠 Google 自动处理。
这是一个节点应用程序,可以读取大型 csv 文件 (300-400mb),解析它们并将它们插入到 mysql db(使用 typeorm) 它似乎适用于较小的文件。文件被一个接一个地读取。 在这种情况下,有超过 1200 个文件(不是所有的 300-400mb 大小,但相当多)
似乎并没有像我想象的那样工作.... 这是js代码有问题还是我只需要手动增加内存?
<--- Last few GCs --->
[1:0x7f9fde9bf330] 4338991 ms: Scavenge (reduce) 955.5 (1037.2) -> 955.5 (1037.2) MB, 7.1 / 0.0 ms (average mu = 0.295, current mu = 0.279) allocation failure
[1:0x7f9fde9bf330] 4339001 ms: Scavenge (reduce) 956.9 (1037.7) -> 956.9 (1038.0) MB, 7.6 / 0.0 ms (average mu = 0.295, current mu = 0.279) allocation failure
[1:0x7f9fde9bf330] 4339011 ms: Scavenge (reduce) 958.1 (1038.0) -> 958.1 (1038.5) MB, 7.7 / 0.0 ms (average mu = 0.295, current mu = 0.279) allocation failure
<--- JS stacktrace --->
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
I have not defined any limits/resources in the deployment. I am relying on Google to handle that automatically.
我不认为那是真的。从 docs 复制粘贴: “Autopilot 依赖于您在部署配置中指定的内容来供应资源。如果您没有为 Pod 中的任何容器指定资源请求,Autopilot 会应用默认值。这些默认值旨在为您的 Pods 中的容器提供一个平均资源量,适用于许多较小的工作负载。"
还有:“重要提示:Google 建议您明确设置每个容器的资源请求以满足您的应用程序要求,因为这些默认值可能不够或最佳。”
所以很可能默认资源请求和限制对于您的应用程序来说太低了。您应该将它们设置为足够高的值,以免 运行 内存不足。