核心文件存储在lxc容器中的位置?

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

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

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

Solutions Collecting From Web of "核心文件存储在lxc容器中的位置?"

| 表示程序应该处理核心转储。 不是将coredump保存到一个文件,而是将其传送到该程序的输入中。 意思是如果core_pattern设置为|... apport apport将处理核心转储。

不幸的是, apport只会为installed软件包创建coredumps。 我将这个模式设置为一个文件名,如下所示:

 echo '/tmp/cores/core.%e.%p.%t' > /proc/sys/kernel/core_pattern 

这会给你像/tmp/core.program.pid.012345678像其中program是程序名称, pid该程序的PID和最后的时间戳。

检查man core以获取更多信息(特别是关于可以在核心模式中使用的元字符的信息。