about summary refs log tree commit homepage
path: root/examples/public-inbox-imapd@.service
DateCommit message (Collapse)
2024-04-22doc: strongly recommend MALLOC_MMAP_THRESHOLD_=131072 for glibc
The 131072 byte lower bound was the old default before the sliding mmap window was introduced in modern glibc malloc. While the sliding mmap window was intended to be faster by reducing syscalls, zeroing and kernel overhead, it is also prone to fragmentation from allocation patterns seen in evented Perl servers. Individual allocations over 128K are rare in our codebase since there aren't many messages this large, making any performance impact tiny. Furthermore, the reduction in fragmentation and memory use will be a speedup for memory-constrained systems since they can avoid swap and have more leftover for the page cache.
2023-10-28examples/*.service: avoid `nobody' user on systemd
systemd complains about `User=nobody' since `nobody' has access to all files which can't be mapped to a valid UID. We'll also switch to `Group=ssl-cert' since that ought to be able to read TLS certificates.
2023-02-22examples: remove `Standard{Error,Output} = syslog' lines
systemd (247.3-7+deb11u1 on Debian 11.x) considers them "obsolete" and emits the following to my syslog: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether. So we'll remove it altogether, as I'm sticking with rsyslog for now.
2022-08-11examples: add systemd files for -netd
It's important show that a single systemd service and socket file can replace all other read-only daemons for ease-of-management.
2022-08-11examples: consolidate systemd socket examples
systemd.socket(5) files can actually contain multiple listen sockets, so shave down inode overhead and simplify config file management by consolidating all applicable ports into a single file for each daemon.
2020-08-25examples: add imapd systemd examples
We've got examples for all the other daemons, too!