Re: swap_pager: cannot allocate bio
- Reply: Mark Johnston : "Re: swap_pager: cannot allocate bio"
- In reply to: Chris Ross : "Re: swap_pager: cannot allocate bio"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 15 Nov 2021 14:20:26 UTC
On 15/11/2021 05:26, Chris Ross wrote:
> A procstat -kka output is available (208kb of text, 1441 lines) at
> https://pastebin.com/SvDcvRvb
67 100542 pagedaemon dom0 mi_switch+0xc1
_cv_wait+0xf2 arc_wait_for_eviction+0x1df arc_lowmem+0xca
vm_pageout_worker+0x3c4 vm_pageout+0x1d7 fork_exit+0x8a fork_trampoline+0xe
I was always of an opinion that waiting for the ARC reclaim in arc_lowmem was
wrong. This shows an example of why it is so.
> An ssh of a top command completed and shows:
>
> last pid: 91551; load averages: 0.00, 0.02, 0.30 up 2+00:19:33 22:23:15
> 40 processes: 1 running, 38 sleeping, 1 zombie
> CPU: 3.9% user, 0.0% nice, 0.9% system, 0.0% interrupt, 95.2% idle
> Mem: 58G Active, 210M Inact, 1989M Laundry, 52G Wired, 1427M Buf, 12G Free
To me it looks like there is still plenty of free memory.
I am not sure why vm_wait_domain (called by vm_page_alloc_noobj_domain) is not
waking up.
Perhaps this is some sort of a NUMA related issue where one memory domain is
exhausted while other(s) still have a lot of memory.
Or maybe it's something else but it must be some sort of a bug.
> ARC: 48G Total, 10G MFU, 38G MRU, 128K Anon, 106M Header, 23M Other
> 46G Compressed, 46G Uncompressed, 1.00:1 Ratio
> Swap: 425G Total, 3487M Used, 422G Free
--
Andriy Gapon