java on kubernetes - container_memory_working_set_bytes 不断增加

问题描述 投票:0回答:0

我们知道什么?

  1. openjdk 11 + Jenkins 在 openshift 4 上,24/7 运行和工作
  2. 基于Java Process的常驻内存使用量增长(RSS),我们使用MALLOC_ARENA_MAX=4
  3. 容器/pod中没有其他进程
  4. lsof 文件句柄稳定
  5. kubernetes“container_memory_working_set_bytes”增加而“container_memory_rss”稳定
  6. memory.stat 的“total_rss”保持稳定,top 和“jvm 本机内存跟踪”记录的所有内容也保持稳定 - 因此我们相信没有堆或类加载器等泄漏(我们一一修复它们 :))

我们不知道和不理解的:

  1. 3 天后,top 报告 /inline 与本机内存跟踪(和 container_memory_rss)~2g,而“container_memory_working_set_bytes”- 报告~3g(自容器启动以来一直在增长)
  2. 显示差异的图表位于https://github.com/opendevstack/ods-jenkins-shared-library/issues/857#issuecomment-1471786489
  3. 超过一天的 memory.stat 跟踪显示“mapped_file”和“active_file”随时间增加

有人知道如何调试这个,或者诊断 wr(on)g 发生了什么吗?

java kubernetes memory-leaks java-11
© www.soinside.com 2019 - 2024. All rights reserved.