cgroup v2 的 memory.max 达到阈值时会在该 cgroup 内部触发 OOM Killer,而非波及整机,配合 memory.high 可实现软性限流与渐进回收。
![]()
一、为服务设置内存硬上限
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