Linux kernel 进程停止,但不在OpenVZ容器上创建核心转储

Linux kernel 进程停止,但不在OpenVZ容器上创建核心转储,linux-kernel,coredump,openvz,Linux Kernel,Coredump,Openvz,我正在容器中运行进程(服务)。几分钟后,进程停止(或崩溃),但没有生成内核转储 当我试图有意创建一个核心转储(例如:在我的程序中除以10/0)时,它会创建一个核心转储 但是相同的过程(没有故意崩溃)将停止,并且不会创建核心转储 有什么问题吗 以下是关于我在VPS上的内核的更多具体细节: [root@test101 ~]# sysctl -a |egrep -i "core" kernel.core_uses_pid = 1 kernel.core_pattern = core.%e.%p ker

我正在容器中运行进程(服务)。几分钟后,进程停止(或崩溃),但没有生成内核转储

当我试图有意创建一个核心转储(例如:在我的程序中除以10/0)时,它会创建一个核心转储

但是相同的过程(没有故意崩溃)将停止,并且不会创建核心转储

有什么问题吗

以下是关于我在VPS上的内核的更多具体细节:

[root@test101 ~]# sysctl -a |egrep -i "core"
kernel.core_uses_pid = 1
kernel.core_pattern = core.%e.%p
kernel.core_pipe_limit = 4
net.core.somaxconn = 128
net.core.xfrm_aevent_etime = 10
net.core.xfrm_aevent_rseqth = 2
net.core.xfrm_larval_drop = 1
net.core.xfrm_acq_expires = 30
net.core.wmem_max = 131071
net.core.rmem_max = 131071
net.core.wmem_default = 133120
net.core.rmem_default = 133120
net.core.dev_weight = 64
net.core.netdev_max_backlog = 1000
net.core.message_cost = 5
net.core.message_burst = 10
net.core.optmem_max = 20480
net.core.rps_sock_flow_entries = 0
net.core.netdev_budget = 300
net.core.warnings = 1

[root@test101 ~]# ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 8041
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

在/etc/security/limits.conf中添加以下行:

  • 软核无限
  • 硬核无限 根软核无限 根硬核无限

您如何确保您的程序确实异常崩溃/终止?它本可以正常终止?它是一个在无限循环中运行的守护进程,我很确定它没有正常退出,除非我要求它这样做。:-)这只发生在OpenVZ环境中,如果没有实际的代码,很难预测任何事情。你能粘贴你的代码吗?如果允许的话?为什么不通过调试器运行它呢?调试器也可以捕获SISSEGV和其他信号