生成 coredumps 过去工作正常,但切换到 systemd 后,我只看到消息
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)
但没有core
生成文件。和systemd有关系吗?
(背景:我的原始问题可以在这里找到。感谢 schaiba 找到解决方案。我提供了这个问答,所以如果其他人已经知道这是一个系统问题,他们可以更容易地找到解决方案。)
Phi*_*ßen 10
默认情况下,systemd 将核心转储写入日志。coredumpctl list
列出丢失的核心转储。
文件存储在/var/lib/systemd/coredump
. 用于coredumpctl dump
访问核心文件。
例如,如果 PID 为 10666,则可以使用
coredumpctl dump 10666 --output /tmp/core.10666
Run Code Online (Sandbox Code Playgroud)
与 systemd 无关,但如果它仍然无法正常工作,请确保关闭 coredump 限制:
# ulimit -c unlimited
Run Code Online (Sandbox Code Playgroud)
还要验证您是否可以写入工作目录。
该/proc/sys/
内核设置由manged sysctl(8)
,系统默认住/usr/lib/sysctl.d/
,通过重写/etc/sysctl.conf
或/etc/sysctl.d/
。它们定义core
文件的名称等。不是他们的写作(除非内核配置为允许从 SUID 二进制文件进行核心转储)。写入由 控制ulimit(1)
,即ulimit -c unlimited
没有限制。在systemd(1)
其控制下的东西生成的核心文件写入日志,可以通过coredumpctl(1)
. 普通用户的东西是不变的。
systemd
的systemd-sysctl.service
只是运行sysctl
在启动的合适时间点,并重新运行把手上的变化。
归档时间: |
|
查看次数: |
14401 次 |
最近记录: |