You know, ZFS, ButterFS (btrfs…its actually “better” right?), and I’m sure more.
I think I have ext4 on my home computer I installed ubuntu on 5 years ago. How does the choice of file system play a role? Is that old hat now? Surely something like ext4 has its place.
I see a lot of talk around filesystems but Ive never found a great resource that distiguishes them at a level that assumes I dont know much. Can anyone give some insight on how file systems work and why these new filesystems, that appear to be highlights and selling points in most distros, are better than older ones?
Edit: and since we are talking about filesystems, it might be nice to describe or mention how concepts like RAID or LUKS are related.
ZFS cache will mark itself as such, so if the kernel needs more RAM for applications it can just dump some of the ZFS cache and use whatever it needs.
I see lots of threads on homelab where new users are like “HELP MY ZFS IS USING 100% MEMORY” and we have to talk them off that ledge: unused RAM is wasted RAM, ZFS is making sure you’re running fast AF.
In theory. Practically unless I limit the max ARC size, processes get OOM killed quite frequently here.
In theory. But how it is implemented in current systems, reserved memory can not be used by other processes and those other processes can not just ask the hog to give some space. Eventually, the hog gets OOM-killed or the system freezes.
Even when, as the comment says, the memory is marked as cache?
Windows doesn’t have this problem
It is not. See https://github.com/openzfs/zfs/issues/10255.
This is a ZFS-specific issue though. With all in-kernel Linux filesystems, filesystem cache is accounted as such.
It will absolutely not. ZFS ARC is accounted as “used” memory. See https://github.com/openzfs/zfs/issues/10255 for more info.
IIRC ZFS hooks the kswapd to free ARC in order to relieve memory pressure but it’s still a tacked-on mechanism, not the regular kernel routine.