【问题标题】:Where are core files stored in a lxc container?核心文件存储在 lxc 容器中的什么位置?
【发布时间】:2015-05-24 05:41:05
【问题描述】:

当我在一个核心容器上运行代码时,我无法在我的容器上找到它(或者核心文件没有被存储)。

  1. ulimit -c 设置为 unlimited
  2. /proc/sys/kernel/core_pattern 设置为 |/usr/share/apport/apport %p %s %c %P|是什么意思?)

我需要对主机系统进行任何更改吗?

【问题讨论】:

  • 在容器上正确设置内核的方式是什么?

标签: linux virtual-machine lxc


【解决方案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 身份编辑文件
  • 不幸的是,我目前无法对其进行测试,但在主机中配置它会很有意义。你试过吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-05
  • 2012-12-25
  • 2017-12-06
  • 2020-03-01
  • 2019-04-26
  • 1970-01-01
相关资源
最近更新 更多