Re: ZFS deadlocks/memory accounting issues
Alan Somers <[email protected]> Mon, 16 Mar 2026 15:29:00 -0600
| Newsgroups | gmane.os.freebsd.stable |
|---|---|
| Message-ID | <CAOtMX2h2eFPt3VxdGU=AfJOhxdyyKY944xcgNf0BuVNXHe8fEw@mail.gmail.com> |
On Mon, Mar 16, 2026 at 3:23 PM Garrett Wollman <[email protected]> wrote: > > <<On Mon, 16 Mar 2026 15:08:44 -0600, Alan Somers <[email protected]> said: > > > A less effective workaround was to set vfs.zfs.arc.min to some > > reasonable value. That can prevent ARC from shrinking too far. You > > could try that. > > So far as I can tell, the ARC doesn't actually shrink, and shouldn't > need to given the gigabytes of free physmem at the time (well, > immediately prior). Within 5 minutes of the crash, the total ARC size > was 70 GiB, c_max was 127 GiB, and c_min was 4 GiB -- in practice it's > never anywhere near that small. The first observation after the > server came back up, ARC size was already over 20 GiB. > > Either *something* is causing the kernel to think it has no free > memory when there's actually lots, or else something is causing the > kernel to allocate gigabytes of RAM much faster than we can observe it > happening. > > There's epsilon memory in the inactive queue on this system, before or > after the crash: it's so small I can't even see the line on the graph. > The 24-hour maximum is 268 MiB, or about 0.2% of RAM. > > > Another thing you could try is to run "vmstat -o" when the system is > > in the problematic state. > > What's the equivalent in DDB? No getty, no login. > > -GAWollman I don't know how to do it from ddb. But if you dump a core file, then you can run vmstat after rebooting like this: "vmstat -o -M /var/crash/vmcore.XXX" . Also, did the kernel panic, or did you manually enter ddb? If it paniced, can you please share the stack trace?