kubernetes 节点空闲进程利用100%cpu

gk7wooem  于 2022-12-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(196)

我有一个应用程序在kubernetes容器中运行,容器不断重启,我用kubectl logs -f <pod-name> -n <name-space> --previous检查了原因
并发现以下问题FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
在instana中检查pod状态时,我得到了以下日志。

在配置文件中进一步检查缩放得到了以下结果。

这是否意味着一个空闲的nodejs进程一直在使用内存!或者有一些其他的snippet正在那个进程中运行?<(idle)>at:0是什么意思?

j2datikz

j2datikz1#

根据错误FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory,Javascript进程(JVM)使用的内存远远超过堆大小。
运行容器的系统开始出现内存问题(重新启动),因为容器占用的内存远远超过堆大小。

检查以下解决方案:

1.设置Docker限制以观察进程正常状态下的内存使用情况。
1.没有一种可靠的方法可以估计Java进程的全部内存使用情况,因为需要考虑的因素太多了。可以通过JVM标志来缩小或限制某些内存区域(如代码缓存),但许多其他内存区域根本不受JVM控制。
有关详细信息,请参阅此SO

相关问题