Hi, PSA: as of systemd/256~rc3-3 the open file descriptors hard limit is bumped early at boot from 1048576 to the max value that the kernel allows, which on amd64 is currently 1073741816.
(I meant to send this last week but it fell off the wagon and languished in the draft folder, sorry!) This allows modern applications to use as many file descriptors as they want, since they are an extremely cheap resource nowadays, and it's more important than ever given that, for example, process tracking is switching over to PID FDs for security reasons. Please note that the soft limit still is 1024, as that's what legacy syscalls like select() can handle. The last time this was tried some packages were still not ready, so it was patched out to let them be fixed. Enough time has passed now, and it's time to let any unknown leftover just break and be fixed. In all known cases, the buggy pattern was to manually iterate over the hard limit and close every FD one by one, which is completely unnecessary since kernel 5.9 (bullseye/oldstable) since the close_range() syscall is available, that can do it in one fell swoop. Any packages still doing the iteration manually need to switch to close_range, which is very simple to use and documented at: https://man7.org/linux/man-pages/man2/close_range.2.html Please enjoy your extra file descriptors responsibly. -- Kind regards, Luca Boccassi
signature.asc
Description: This is a digitally signed message part