2012-03-22 49 views
0

我正在容器中運行進程(服務)。幾分鐘後,進程停止(或崩潰),但沒有生成核心轉儲。進程停止,但未在OpenVZ Container上創建核心轉儲

當我嘗試故意創建一個核心轉儲(例如:在我的程序中將10/0分開)時,它會創建一個核心轉儲。

但同樣的過程(沒有故意的崩潰)將停止並且不會創建核心轉儲。

可能是什麼問題?

這裏有一個VPS我的內核的更具體的細節:

[[email protected] ~]# 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 

[[email protected] ~]# 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 
+0

你是如何確定程序確實崩潰/異常終止的?它可能正常終止? – 2012-03-22 11:16:34

+0

這是一個在無限循環中運行的守護進程,我很確定它沒有正常退出,除非我要求它這樣做。 :-)這隻會發生在OpenVZ環境中。 – 2012-03-22 12:28:26

+0

如果沒有實際的代碼,很難預測任何事情。你能粘貼你的代碼嗎?如果允許? – 2012-03-22 12:53:47

回答

0

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

  • 軟核無限
  • 硬核心無限 無限根軟核 無限根核心