核心文件存储在 lxc 容器中的啥位置?
Posted
技术标签:
【中文标题】核心文件存储在 lxc 容器中的啥位置?【英文标题】:Where are core files stored in a lxc container?核心文件存储在 lxc 容器中的什么位置? 【发布时间】:2015-05-24 05:41:05 【问题描述】:当我在一个核心容器上运行代码时,我无法在我的容器上找到它(或者核心文件没有被存储)。
ulimit -c
设置为 unlimited
/proc/sys/kernel/core_pattern
设置为
|/usr/share/apport/apport %p %s %c %P
(|
是什么意思?)
我需要对主机系统进行任何更改吗?
【问题讨论】:
在容器上正确设置内核的方式是什么? 【参考方案1】:|
表示程序应该处理核心转储。它不会将 coredump 保存到文件中,而是通过管道传输到该程序输入中。表示如果 core_pattern
设置为 |... apport
apport
将处理核心转储。
不幸的是,apport
只会为 installed
包创建核心转储。我会将模式设置为文件名,如下所示:
echo '/tmp/cores/core.%e.%p.%t' > /proc/sys/kernel/core_pattern
这会给你像/tmp/core.program.pid.012345678
这样的核心转储,其中program
是程序名称,pid
是程序的 pid 加上末尾的时间戳。
查看man core
了解更多信息(尤其是有关可在核心模式中使用的元字符的信息。
【讨论】:
我在考虑你的建议,有些问题更多的是针对容器而不是核心文件,例如: 1. 我应该更改容器或主机 ubuntu 机器中的核心模式吗? 2. 如果我需要在我的容器中更改它,我无法以 root 身份编辑文件 不幸的是,我目前无法对其进行测试,但在主机中配置它会很有意义。你试过吗?以上是关于核心文件存储在 lxc 容器中的啥位置?的主要内容,如果未能解决你的问题,请参考以下文章
git bash 中的 ssh 客户端将它的 known_hosts 文件存储在 Windows 上的啥位置?
ODBC 机器 DSN 设置存储在 Windows 中的啥位置?
Chrome/Tampermonkey 用户脚本存储在文件系统的啥位置? [关闭]