欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

Linux 内核 OOM Killer 机制:cgroup v2 memory.max 精准限流

发表于:|最后更新:|分类:Linux与内核|阅读:5053 次

cgroup v2 的 memory.max 达到阈值时会在该 cgroup 内部触发 OOM Killer,而非波及整机,配合 memory.high 可实现软性限流与渐进回收。

Linux cgroup 层次

一、为服务设置内存硬上限

bash
# 创建 cgroup 并设置内存上限 2G
mkdir /sys/fs/cgroup/payment
echo 2G > /sys/fs/cgroup/payment/memory.max
echo 1800M > /sys/fs/cgroup/payment/memory.high

# 将进程加入该 cgroup
echo $$ > /sys/fs/cgroup/payment/cgroup.procs

# 查看内存事件统计
cat /sys/fs/cgroup/payment/memory.events