Katalyst Memory Advisor:用户态的 K8s 内存管理方案
出处:
mp.weixin.qq.com
作者:
KubeWharf 开源社区
在混部场景下,内存管理是一个很重要的话题:一方面,当节点或容器的内存紧张时,业务的性能可能会受到影响,比如出现时延抖动或者 OOM。在混部场景下,由于对内存进行了超卖,该问题可能会更加严重。另一方面,节点上可能存在一些较少被使用但未被释放的内存,导致可以出让给离线作业使用的内存量较少,无法实现有效的超卖。 针对上述问题,字节跳动将其在大规模在离线混部过程中积累的精细化的内存管理经验,总结成了一套用户态的 Kubernetes 内存管理方案 Memory Advisor,并在资源管理系统 Katalyst 中开源。本文将重点介绍 Kubernetes 和 Linux 内核原生的内存管理机制及其局限,以及 Katalyst 如何通过 Memory Advisor 在提升内存利用率的同时,保障业务的内存服务质量。