ks前端nodejs16构建内存溢出报错解决
报错信息:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory`<— JS stacktrace —>
全部的报错信息<--- JS stacktrace --->FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 1: 0xb02ec0 node::Abort() [/usr/local/bin/node] 2: 0xa181fb node::FatalError(char const*, char const*) [/usr/local/bin/node] 3: 0xced88e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node] 4: 0xcedc07 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node] 5: 0xea5ea5 [/usr/local/bin/node] 6: 0xea6986 [/usr/local/bin/node] 7: 0xeb48be [/usr/local/bin/node] 8: 0xeb5300 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/local/bin/node] 9: 0xeb6437 v8::internal::Heap::FinalizeIncrementalMarkingIfComplete(v8::internal::GarbageCollectionReason) [/usr/local/bin/node]10: 0xeb9f50 v8::internal::IncrementalMarkingJob::Task::RunInternal() [/usr/local/bin/node]11: 0xdabcfb non-virtual thunk to v8::internal::CancelableTask::Run() [/usr/local/bin/node]12: 0xb707a4 node::PerIsolatePlatformData::RunForegroundTask(std::unique_ptr<v8::Task, std::default_delete<v8::Task> >) [/usr/local/bin/node]13: 0xb72609 node::PerIsolatePlatformData::FlushForegroundTasksInternal() [/usr/local/bin/node]14: 0x155a396 [/usr/local/bin/node]15: 0x156c804 [/usr/local/bin/node]16: 0x155acc8 uv_run [/usr/local/bin/node]17: 0xa3ffe5 node::SpinEventLoop(node::Environment*) [/usr/local/bin/node]18: 0xb45056 node::NodeMainInstance::Run(node::EnvSerializeInfo const*) [/usr/local/bin/node]19: 0xac67e2 node::Start(int, char**) [/usr/local/bin/node]20: 0x7fbe575a1555 __libc_start_main [/lib64/libc.so.6]21: 0xa3bfbc [/usr/local/bin/node]error Command failed with signal "SIGABRT".info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.script returned exit code 1
问题原因:打包容器内存不足
解决办法: 参考ks官网文档通过修改 ConfigMap调整 Jenkins Agent的资源请求 (Request) 和限制 (Limit) 等内容
文档链接:
https://kubesphere.io/zh/docs/v3.3/devops-user-guide/how-to-use/pipelines/jenkins-setting/
贴下原文:
修改 ConfigMap
建议您通过 Configuration as Code (CasC) 在 KubeSphere 中配置 Jenkins。内置 Jenkins CasC 文件存储为 ConfigMap。
以 admin 身份登录 KubeSphere,点击左上角的平台管理,然后选择集群管理。
如果您已经启用多集群功能并已导入成员集群,您可以选择一个特定集群来编辑 ConfigMap。如果您尚未启用多集群功能,请直接参考下一步。
在左侧导航栏中选择配置下的配置字典。在配置字典页面上,从下拉列表中选择 kubesphere-devops-system,然后点击 jenkins-casc-config。
在详情页面上,点击更多操作,在下拉列表中选择编辑 YAML。
jenkins-casc-config 的配置模板是一个 YAML 文件,位于 data.jenkins_user.yaml: 部分。您可以在 ConfigMap 的代理 (Kubernetes Jenkins Agent) 中修改容器镜像、标签、资源请求 (Request) 和限制 (Limit) 等内容,或者在 podTemplate 中添加容器。完成操作后,点击确定。
请至少等待 70 秒,您的改动会自动重新加载。
有关如何通过 CasC 设置 Jenkins 的更多信息,请参见 Jenkins 文档。
我们的前端编译莫名占用内存巨大,经测试本地前端总共需要9000多M内存,我直接从8G调整到了15G,可以编译成功了
后续:第二天又报同样的错误,绝对是代码有问题