lxc 容器中存储的核心文件在哪里?

Where are core files stored in a lxc container?

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

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

我是否需要对主机系统进行任何更改in/to?

| 表示程序应该处理核心转储。它不会将核心转储保存到文件中,而是通过管道传输到该程序的输入中。意味着如果 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 了解更多信息(尤其是有关可在核心模式中使用的元字符的信息。