Messages in this thread | | | From | "Huang, Ying" <> | Subject | Re: [PATCH] memcg: add interface to force disable swap | Date | Mon, 09 Oct 2023 13:58:10 +0800 |
| |
Jianlin Lv <iecedge@gmail.com> writes:
> On Sun, Oct 8, 2023 at 4:26 PM Huang, Ying <ying.huang@intel.com> wrote: >> >> Jianlin Lv <iecedge@gmail.com> writes: >> >> > On Sun, Oct 8, 2023 at 9:17 AM Huang, Ying <ying.huang@intel.com> wrote: >> >> >> >> Jianlin Lv <iecedge@gmail.com> writes: >> >> >> >> > From: Jianlin Lv <iecedge@gmail.com> >> >> > >> >> > Global reclaim will swap even if swappiness is set to 0. >> >> >> >> Why? Can you elaborate the situation? >> > >> > We reproduced the issue of pages being swapped out even when swappiness is >> > set to 0 in the production environment through the following test program. >> > Not sure whether this program can reproduce the issue in any environment. >> > >> > From the implementation of the get_scan_count code, it can be seen that, >> > based on the current runtime situation, memory reclamation will choose a >> > scanning method (SCAN_ANON/SCAN_FILE/SCAN_FRACT) to determine how >> > aggressively the anon and file LRU are scanned. However, this introduces >> > uncertainty. >> > >> > For the JVM issue at hand, we expect deterministic SCAN_FILE scan to avoid >> > swapping out anon pages. >> >> Why doesn't memory.swap.max work? > > The main reason is that deployed nodes are kept on cgroups v1.
Check the code again. IIUC, for swappiness == 0, anonymous pages will only be reclaimed if sc->file_is_tiny is true. If we don't swap in that situation, OOM may be triggerred. I don't think that it's a good idea to do that. Or I miss something?
-- Best Regards, Huang, Ying
| |