# TC-8 (manual): min_ttl_ms trigger semantics — seqsweep 4600M, 60s, global (no cgroup) # cmd: seqsweep 4600 60; oom_kill from /proc/vmstat; kernel 7.0.0-34-generic [OFF] enabled=0x0000 ttl=0 -> {"sweeps":27,"sweep_s_med":2.117,"sweep_s_min":2.024,"sweep_s_max":3.393,"minflt":7572915,"majflt":438011,"rss_kb":4711672} rc=0 oom_kill_delta=0 [ON] enabled=0x0001 ttl=0 -> {"sweeps":27,"sweep_s_med":2.085,"sweep_s_min":2.047,"sweep_s_max":3.738,"minflt":6261913,"majflt":1309939,"rss_kb":4711524} rc=0 oom_kill_delta=0 [TTL] enabled=0x0001 ttl=8000 -> bash: line 2: 50293 Killed (SIGKILL) rc=137 oom_kill_delta=1 dmesg: "Out of memory: Killed process 50294 (seqsweep) total-vm:4712620kB anon-rss:4694644kB" (node-level OOM) # interpretation: with sweep period (~2-3.7s) < min_ttl (8s), every generation is younger # than min_ttl -> lruvec_is_reclaimable()==false for all memcgs -> lru_gen_age_node() # calls out_of_memory() instead of thrashing. Exactly the documented behavior.