NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: misc/60958 ((Probaby) avoidable stability problems due to default memory management behavior on systems with a lot of RAM, ZFS, and no swap)



The following reply was made to PR misc/60958; it has been noted by GNATS.

From: Ellie <el%horse64.org@localhost>
To: gnats-bugs%netbsd.org@localhost, misc-bug-people%netbsd.org@localhost,
 netbsd-bugs%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, riastradh%NetBSD.org@localhost
Cc: 
Subject: Re: misc/60958 ((Probaby) avoidable stability problems due to default
 memory management behavior on systems with a lot of RAM, ZFS, and no swap)
Date: Tue, 3 Nov 2026 19:42:47 +0000

 Happy to elaborate, and sorry if some of my speculation is wrong.
 
 For what it's worth, I was in the #NetBSD chat at the time and shared 
 details about the process, so some of this is based on the input of 
 others. I'm really not that terribly smart...
 
 Let me provide more details where I can:
 
 On 11/3/26 17:49, riastradh%NetBSD.org@localhost wrote:
 > Synopsis: (Probaby) avoidable stability problems due to default memory management behavior on systems with a lot of RAM, ZFS, and no swap
 > 
 > State-Changed-From-To: open->feedback
 > State-Changed-By: riastradh%NetBSD.org@localhost
 > State-Changed-When: Tue, 03 Nov 2026 17:49:14 +0000
 > State-Changed-Why:
 > There's a lot of speculation and analysis here, and not a lot of
 > specific evidence.  Can you share some more details like:
 > 
 > 1. exactly what observations led you to say `When memory runs out for
 >     the first and second time [...] ZFS evicts a lot of cache'?
 
 I had "top" open and was talking about the process in the chat, while 
 waiting for the OOM to confirm my hypothesis and observing what was 
 going on as best as I could.
 
 During the unfolding of events, I observed the only major process taking 
 up a lot of memory (Firefox) continuing to grow, and free memory (shown 
 in the top right of "top") going to zero then suddenly jumping to 8GB.
 
 Another such jump happened from zero free memory back to around 4GB. At 
 the same time, "Swap / Pools" went down - I didn't check if by the exact 
 same amount, but from around 12G to less than 1G at the end.
 
 > 
 > 2. exactly what observations led you to say `ZFS will evict so much of
 >     its own memory that it seems to start to break down'?
 
 This was my best guess because after the second jump from zero memory to 
 around 4GB free, I could no longer launch any processes:
 
 https://horse64.org/100_7111.JPG
 
 For example I had a terminal open, I typed "dmesg" which I still saw as 
 a word appearing in the terminal, but after pressing enter, I just get a 
 blank line and nothing ever happened. See in the photo!
 
 Firefox's window stopped redrawing, but generally X remained responsive 
 at first and I saw "top" continuing to run and update the remaining 
 memory count.
 
 That this is related to ZFS causing trouble for the I/O subsystem after 
 evicting so much memory was a mere guess and I could be 100% wrong.
 
 > 
 > 3. output of top(1) at various stages?
 
 You can see the output of "top" and "dmesg" being stuck on this photo 
 that I took at that point:
 
 https://horse64.org/100_7111.JPG
 
 Firefox had multiple processes listed that took over 30GB at that point.
 
 > 
 > 4. output of the following commands at various stages?
 >     - echo ps | crash
 >     - echo ps/w | crash
 >     - echo show all locks | crash
 >     - echo show all tstiles | crash
 
 I assume that once "dmesg" no longer works, I wouldn't be able to run 
 these anymore.
 
 I could collect those at earlier stages before memory runs out, perhaps 
 before & after the first possibly-ZFS-eviction, would that help?
 > 
 > 5. if you kill firefox, do the symptoms continue?
 
 The system stays perfectly alive without Firefox, for many hours. Once 
 "dmesg" hangs I wouldn't know how to kill Firefox. Before that, there 
 aren't really any symptoms. The first big perhaps-ZFS-eviction had no 
 noticeable effect other than the suspicious change in numbers in "top".
 
 > 
 > 6. if you can't start crash, try switching to the first virtual
 >     terminal ttyE0 with C-A-F1, drop into ddb with C-A-ESC, and take a
 >     photo of the first page of output of the same commands (ps, ps/w,
 >     show all locks, show all tstiles) -- don't go wild recording
 >     everything, mostly just want to see a few wchans to find what
 >     processes are waiting on
 
 I couldn't start anything at that point, SSH login doesn't even work 
 anymore once "dmesg" also no longer does. I highly doubt the TTY login 
 would still work at that stage.
 
 
 > 
 > 7. if you drop into ddb and type `call wakeup(uvmexp+0x10)' and then
 >     `continue', do the symptoms continue?
 > 
 > (For context: I have been running zfs (on cgd) and firefox with
 > hundreds of tabs on laptops with 32-64GB of RAM for years, and have not
 > encountered these symptoms.)
 
 I wonder, had you ever firefox take up all your memory? Perhaps you just 
 didn't let the right web apps sit in idle, or something.
 
 Also, people in chat were guessing that no swap might make a big 
 difference in how recoverable this situation.
 
 Regards,
 
 Ellie
 



Home | Main Index | Thread Index | Old Index