Where are core files stored in a lxc container?

落爺英雄遲暮 提交于 2019-12-07 06:58:46

问题


When I am running code on a container it cores I am not able to locate it on my container(or the core file is not being stored).

  1. ulimit -c is set to unlimited
  2. /proc/sys/kernel/core_pattern is set to |/usr/share/apport/apport %p %s %c %P (what is the meaning of |?)

Do I need to make any changes in/to the host system?


回答1:


| indicates that a program should handle the core dump. Rather than saving the coredump to a file it will be piped into that programs input. Means if core_pattern is set to |... apport apport will handle the core dumps.

Unfortunately apport will create coredumps only for installed packages. I would set the pattern to a file name, like this:

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

The would give you coredumps like /tmp/core.program.pid.012345678 where program is the program name, pid the program's pid plus a timestamp at the end.

Check man core for more information (espcecially information about meta chars that can be used in the core pattern.



来源:https://stackoverflow.com/questions/29172874/where-are-core-files-stored-in-a-lxc-container

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!