The linux kernel’s handling of IO under memory pressure is abysmal. I have to tune dirty ratios and write back ages and swap and whatnot just to get the system to not hard lock when running multiple node microservices in stages which run fine, just slower, when starting them all at once on a MacBook.
Disclaimer: I don’t even like macOS.