• X
    alinux: memcg: Provide users the ability to reap zombie memcgs · 63442ea9
    Xunlei Pang 提交于
    After memcg was deleted, page caches still reference to this memcg
    causing large number of dead(zombie) memcgs in the system. Then it
    slows down access to "/sys/fs/cgroup/cpu/memory.stat", etc due to
    tons of iterations, further causing various latencies.
    
    This patch introduces two ways to reclaim these zombie memcgs.
    1) Background kthread reaper
    Introduce a kernel thread "memcg_zombie_reaper" to reclaim zombie
    memcgs at background periodically.
    
    Several knobs are also added to control the reaper scan frequency:
    - /sys/kernel/mm/memcg_reaper/scan_interval
      The scan period in second. Default 5s.
    - /sys/kernel/mm/memcg_reaper/pages_scan
      The scan rate of pages per scan. Default 1310720(5GiB for 4KiB page).
    - /sys/kernel/mm/memcg_reaper/verbose
      Output some zombie memcg information for debug purpose. Default off.
    - /sys/kernel/mm/memcg_reaper/reap_background
      "on/off" switch. Default "0" means off. Write "1" to switch it on.
    
    2) One-shot trigger by users
    - /sys/kernel/mm/memcg_reaper/reap
      Write "1" to trigger one round of zombie memcg reaping, but without
      any guarantee, you may need to launch multiple rounds as needed.
    Reviewed-by: NGavin Shan <shan.gavin@linux.alibaba.com>
    Signed-off-by: NXunlei Pang <xlpang@linux.alibaba.com>
    63442ea9
Makefile 3.7 KB