Kubernetes Linux Swap 调优:深度解析 笔记

Kubernetes Linux Swap 调优:深度解析

Kubernetes 节点交换功能,即将稳定,允许 Linux 节点使用交换空间以获取额外的虚拟内存。该功能旨在提高资源利用率并减少物理 RAM 耗尽时的内存不足(OOM)杀死事件。然而,其有效性取决于调整特定的 Linux 内核参数,如 vm.swappiness、vm.min_free_kbytes 和 vm.watermark_scale_factor。vm.swappiness 参数控制内核在交换匿名内存和回收文件支持内存之间的偏好。vm.min_free_kbytes 作为安全缓冲区,影响激进的页面回收何时开始。vm.watermark_scale_factor 调整内存自由水印之间的间隙,影响交换窗口。测试表明,默认内核参数可能导致 OOM 杀死和节点重启在内存压力下。增加 vm.min_free_kbytes 和 vm.watermark_scale_factor 证明是防止过早驱逐和 OOM 杀死的关键,提供了内核更多的时间来交换。较高的 swappiness 可能导致显著的 I/O 等待,而较低的 swappiness 优先考虑文件缓存的释放。正确调整这些参数,连同 Kubelet 的驱逐阈值,创建了一个平衡的内存压力管理策略。风险包括由于慢速交换访问导致的性能下降和掩盖内存泄露。
CdXz5zHNQW_LEZYliBqbk.png