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

标签 linux virtual-machine lxc

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

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

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

最佳答案

| 表示程序应该处理核心转储。它不会将核心转储保存到文件中,而是通过管道传输到该程序的输入中。意味着如果 core_pattern 设置为 |... apport apport 将处理核心转储。

不幸的是,apport 只会为已安装 包创建核心转储。我会将模式设置为文件名,如下所示:

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

这会给你像 /tmp/core.program.pid.012345678 这样的核心转储,其中 program 是程序名称,pid 是程序的pid 加上最后的时间戳。

查看 man core 以获取更多信息(尤其是有关可在核心模式中使用的元字符的信息。

关于linux - lxc 容器中存储的核心文件在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29172874/

相关文章:

c - 如何设置 cron 作业以每小时运行一次可执行文件?

linux - 如何在centos 7上安装bower

linux - 随机命令挂起时如何修复 Centos lxc 容器?

kubernetes - 运行 kubelet 时出错

linux - 为刚刚创建的 LXC 容器运行 ansible 角色

linux - 使用 awk 打印从第 n 到最后的所有列

linux - 如何将我的数据拆分成足够小的 block 以提供给 Seq?

virtual-machine - 是否可以在 VirtualBox 上安装 openvms 镜像 (iso)?

azure - 子网不包含在虚拟机的地址空间内

c++ - 从主机向在 VirtualBox Linux 机器上运行的服务器发送 http 请求