587f2a5e56
When /var/lib/systemd/coredump/ is backed by a tmpfs, all disk usage will be accounted under the systemd-coredump process cgroup memory limit. If MemoryMax is set, this might cause systemd-coredump to be terminated by the kernel oom handler when writing large uncompressed core files, even if the compressed core would fit within the limits. Detect if a tmpfs is used, and if so check MemoryMax from the process and slice cgroups, and do not write uncompressed core files that are greater than half the available memory. If the limit is breached, stop writing and compress the written chunk immediately, then delete the uncompressed chunk to free more memory, and resume compressing directly from STDIN. Example debug log when this situation happens: systemd-coredump[737455]: Setting max_size to limit writes to 51344896 bytes. systemd-coredump[737455]: ZSTD compression finished (51344896 -> 3260 bytes, 0.0%) systemd-coredump[737455]: ZSTD compression finished (1022786048 -> 47245 bytes, 0.0%) systemd-coredump[737455]: Process 737445 (a.out) of user 1000 dumped core. |
||
---|---|---|
.github | ||
.lgtm/cpp-queries | ||
.mkosi | ||
.semaphore | ||
catalog | ||
coccinelle | ||
docs | ||
factory/etc | ||
hwdb.d | ||
man | ||
mkosi.default.d | ||
modprobe.d | ||
network | ||
po | ||
presets | ||
rules.d | ||
shell-completion | ||
src | ||
sysctl.d | ||
sysusers.d | ||
test | ||
tmpfiles.d | ||
tools | ||
units | ||
xorg | ||
.clang-format | ||
.ctags | ||
.dir-locals.el | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
.mailmap | ||
.packit.yml | ||
.vimrc | ||
.ycm_extra_conf.py | ||
configure | ||
LICENSE.GPL2 | ||
LICENSE.LGPL2.1 | ||
Makefile | ||
meson_options.txt | ||
meson.build | ||
mkosi.build | ||
NEWS | ||
README | ||
README.md | ||
TODO |
System and Service Manager
Details
Most documentation is available on systemd's web site.
Assorted, older, general information about systemd can be found in the systemd Wiki.
Information about build requirements is provided in the README file.
Consult our NEWS file for information about what's new in the most recent systemd versions.
Please see the Code Map for information about this repository's layout and content.
Please see the Hacking guide for information on how to hack on systemd and test your modifications.
Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our Coding Style Guidelines.
If you are looking for support, please contact our mailing list or join our IRC channel.
Stable branches with backported patches are available in the stable repo.