2012-03-22 5 views
0

컨테이너에서 프로세스 (서비스)를 실행하고 있습니다. 몇 분이 지나면 프로세스가 중지되거나 충돌하지만 코어 덤프가 생성되지 않습니다.OpenVZ Container에서 코어 덤프를 만들지 않고 프로세스가 중지됩니다.

의도적으로 코어 덤프를 만들려고 할 때 (예 : 내 프로그램에서 10/0을 나누기) 코어 덤프를 만듭니다.

하지만 같은 프로세스 (의도적 인 충돌 없음)가 중지되고 코어 덤프가 생성되지 않습니다.

무엇이 문제 일 수 있습니까? 귀하는 /etc/security/limits.conf에

[[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

프로그램이 실제로 비정상적으로 충돌/종료되었는지 어떻게 확인 했습니까? 정상적으로 종료되었을 수 있습니까? –

+0

그것은 무한 루프에서 돌아가는 데몬입니다. 그렇게하도록 요청하지 않으면 정상적으로 종료되지 않았을 것입니다. :-) 이것은 OpenVZ 환경에서만 발생합니다. –

+0

실제 코드가 없으면 예측하기가 매우 어렵습니다. 코드를 붙여 넣을 수 있습니까? 허용되면? –

답변

0

추가 다음 줄 :

  • 소프트 코어 무제한
  • 하드 여기

    는 VPS에 내 커널의보다 구체적인 세부 사항입니다 코어 무제한 루트 소프트 코어 무제한 루트 하드 코어 무제한