核心文件存储在 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 容器中的啥位置?的主要内容,如果未能解决你的问题,请参考以下文章

Docker 镜像存储在主机的啥位置?

git bash 中的 ssh 客户端将它的 known_hosts 文件存储在 Windows 上的啥位置?

ODBC 机器 DSN 设置存储在 Windows 中的啥位置?

Chrome/Tampermonkey 用户脚本存储在文件系统的啥位置? [关闭]

用户的 Subversion 配置文件存储在主要操作系统的啥位置?

syslog 输出存储在 Cygwin 的啥位置?