当前位置: 首页 > 知识库问答 >
问题:

kubenrates (k8s) nd POD在非工作时间关闭,并且没有内存峰值

解飞语
2023-03-14

就是这个情况,< br >第一次上AWS,第一次上K8s...< br >我们有一个微服务基础架构,< br >我们有jdk8的POD/container内存问题,所以我们迁移到jdk11-openj9内存管理,如果比以前好得多,现在的问题是一个奇怪的问题,一个微服务,它在分配的内存下工作正常,在非工作时间,在随机时间,今天凌晨5.03获得OOMKILL。此POD配置有QOS =保证,这是唯一一个,所以驱逐不会发生。< br >我们(和grafana)还监控了该节点中的其他豆荚,在杀戮时间,没有人出现记忆峰值

有人建议去哪里看?

在我看来,OOMKILLED肯定不是记忆过多的要求。

更新 15/05/2020

今天早上再次被杀:状态:运行开始: Fri,2020年5月15日01:11:27 0000最后状态:终止原因: OOMKill退出代码: 137开始: Wed,2020年5月13日07:32:46 0000完成: Fri,2020年5月15日01:11:27 0000准备就绪:真正重启计数: 1限制:内存: 250Mi请求: cpu:100m内存: 250Mi

没有理由OOMKILLED,没有内存峰值或系统过载

共有1个答案

翟光赫
2023-03-14

限制内存与JVM的内存不一样。它应该比这大。您可以使用JVM参数MaxRAM百分比或Xmx为部分非堆备用内存。

另请参见 https://akobor.me/posts/heap-size-and-resource-limits-in-kubernetes-for-jvm-applications

 类似资料:
  • 经过大量搜索,我找到了如何在@RESTController中将java.util.Date字段转换为JSON响应时停止序列化为时间戳。 有人知道为什么这不起作用吗?它把我难倒了!

  • 问题内容: 这与“没有单独的联接表的hibernate@OneToMany”类似,因为我需要一个没有联接表的@OneToMany关系。但是,我也不想定义逆关系。删除相反的内容似乎会导致自动生成联接表…是否有解决方法? 问题答案: 在JPA 2.0+中,您可以使用@JoinColumn作为避免生成联接表的方法。 尝试一下。 更新 上面提供的信息摘自EJB 3.0o’illy书(查找@JoinColu

  • 在这段代码中,我使用Apache POI库加载了一个大小为10MB的excel文件。这几乎消耗2GB内存。在遍历了所有行之后,我终于调用了close方法。然而,GC似乎并没有释放这个流和对象所占用的空间。仍然使用2GB 400MB内存。 有什么想法吗? 以下是我的代码:

  • 我正在学习Java 1.5中引入的ExecutorService 下面的例子似乎违背了预期的行为: 查看此方法的java文档: 尝试停止所有正在执行的任务,停止正在等待的任务的处理,并返回正在等待执行的任务的列表。 此方法不等待主动执行的任务终止。请使用等待终止来完成此操作。 除了尽最大努力尝试停止处理积极执行的任务之外,没有任何保证。例如,典型的实现将通过Thread.interrupt取消,因

  • 问题内容: 我一直在对我们的一个宠物项目进行代码审查(通常使用诸如FindBugs之类的工具),并且FindBugs将以下代码标记为错误的(伪代码): 错误是此代码可能不会释放资源。我发现ResultSet和Statement没有关闭,所以我最终将它们关闭: 但是我在许多项目(来自许多公司)中遇到了上述模式,没有人关闭ResultSets或Statements。 关闭连接时,是否关闭了Result

  • 突然,每当我保存时,我的Eclipse就开始自动构建工作区,仅仅一次保存就需要很长时间(我倾向于经常保存)。它以前从来没有这样做过,所以我想知道:我如何关闭它?