Amazon EC2에서 가장 오래 실행되는 명령이 즉시 종료 됨 (Ubuntu 10.04)


26

터미널에서 장기 실행 명령을 실행하면 프로그램이 즉시 종료되고 터미널은 텍스트를 출력합니다 Killed.

어떤 포인터? 명령이 종료되는 이유를 설명하는 데이터가있는 로그 파일이 있습니까?

최신 정보

다음은 dmesg희망적으로 문제를 일으키는 원인을 밝히는 발췌 문장입니다 . 도움이 될 수있는 또 다른 참고 사항은 이것이 Amazon EC2 인스턴스라는 것입니다.

May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184209] Call Trace:
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184218]  [<c01e49ea>] dump_header+0x7a/0xb0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184221]  [<c01e4a7c>] oom_kill_process+0x5c/0x160
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184224]  [<c01e4fe9>] ? select_bad_process+0xa9/0xe0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184227]  [<c01e5071>] __out_of_memory+0x51/0xb0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184229]  [<c01e5128>] out_of_memory+0x58/0xd0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184232]  [<c01e7f16>] __alloc_pages_slowpath+0x416/0x4b0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184235]  [<c01e811f>] __alloc_pages_nodemask+0x16f/0x1c0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184238]  [<c01ea2ca>] __do_page_cache_readahead+0xea/0x210
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184241]  [<c01ea416>] ra_submit+0x26/0x30
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184244]  [<c01e3aef>] filemap_fault+0x3cf/0x400
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184247]  [<c02329ad>] ? core_sys_select+0x19d/0x240
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184252]  [<c01fb65c>] __do_fault+0x4c/0x5e0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184254]  [<c01e4161>] ? generic_file_aio_write+0xa1/0xc0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184257]  [<c01fd60b>] handle_mm_fault+0x19b/0x510
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184262]  [<c05f80d6>] do_page_fault+0x146/0x440
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184265]  [<c0232c62>] ? sys_select+0x42/0xc0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184268]  [<c05f7f90>] ? do_page_fault+0x0/0x440
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184270]  [<c05f53c7>] error_code+0x73/0x78
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.184274]  [<c05f007b>] ? setup_local_APIC+0xce/0x33e
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272161]  [<c05f0000>] ? setup_local_APIC+0x53/0x33e
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272163] Mem-Info:
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272164] DMA per-cpu:
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272166] CPU    0: hi:    0, btch:   1 usd:   0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272168] Normal per-cpu:
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272169] CPU    0: hi:  186, btch:  31 usd:  50
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272171] HighMem per-cpu:
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272172] CPU    0: hi:  186, btch:  31 usd:  30
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272176] active_anon:204223 inactive_anon:204177 isolated_anon:0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272177]  active_file:47 inactive_file:141 isolated_file:0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272178]  unevictable:0 dirty:0 writeback:0 unstable:0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272179]  free:10375 slab_reclaimable:1650 slab_unreclaimable:1856
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272180]  mapped:2127 shmem:3918 pagetables:1812 bounce:0May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272186] DMA free:6744kB min:72kB low:88kB high:108kB active_anon:300kB inactive_anon:308kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15812kB mlocked:0kB dirty:0kB writeback:0kB mapped:4kB shmem:0kB slab_reclaimable:8kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272190] lowmem_reserve[]: 0 702 1670 1670May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272197] Normal free:34256kB min:3352kB low:4188kB high:5028kB active_anon:317736kB inactive_anon:317308kB active_file:144kB inactive_file:16kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:719320kB mlocked:0kB dirty:4kB writeback:0kB mapped:32kB shmem:0kB slab_reclaimable:6592kB slab_unreclaimable:7424kB kernel_stack:2592kB pagetables:7248kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:571 all_unreclaimable? yes
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272201] lowmem_reserve[]: 0 0 7747 7747May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272207] HighMem free:500kB min:512kB low:1668kB high:2824kB active_anon:498856kB inactive_anon:499092kB active_file:44kB inactive_file:548kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:991620kB mlocked:0kB dirty:0kB writeback:0kB mapped:8472kB shmem:15672kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:430 all_unreclaimable? yes
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272211] lowmem_reserve[]: 0 0 0 0May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272215] DMA: 10*4kB 22*8kB 38*16kB 33*32kB 16*64kB 10*128kB 4*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 6744kBMay 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272223] Normal: 476*4kB 1396*8kB 676*16kB 206*32kB 23*64kB 2*128kB 0*256kB 0*512kB 0*1024kB 1*2048kB 0*4096kB = 34256kBMay 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272231] HighMem: 1*4kB 2*8kB 28*16kB 1*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 500kB
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272238] 4108 total pagecache pages
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272240] 0 pages in swap cache
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272242] Swap cache stats: add 0, delete 0, find 0/0
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272243] Free swap  = 0kB
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272244] Total swap = 0kB
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.276842] 435199 pages RAM
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.276845] 249858 pages HighMem
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.276846] 8771 pages reserved
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.276847] 23955 pages shared
May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.276849] 405696 pages non-shared

매우 도움이되었습니다. 같은 문제가있었습니다
Cookie

답변:


36

dmesg명령 의 출력을보고 프로세스를 종료 한 원인을 찾을 수 있어야합니다 . 또는 로그 파일에서 /var/log/kern.log, /var/log/messages또는 /var/log/syslog.

프로세스가 요약 적으로 종료 될 수있는 여러 가지가 있습니다.

  • 다양한 메모리 또는 CPU 사용 유형에 대해 하드 ulimit를 초과하면 사용할 수 있습니다. ulimit -H -a
  • 시스템에 가상 메모리가 부족하면 커널 oom-killer가 프로세스를 강제 종료하여 메모리를 확보 할 수 있습니다 (귀하의 경우에는 그렇지 않습니다)
  • 시스템에 SELinux 및 / 또는 PaX / grsecurity가 설치되어있는 경우 보안 정책에서 허용하지 않는 작업을 시도하거나 자체 수정 된 코드를 실행하려고하면 프로세스가 종료 될 수 있습니다.

로그 또는 dmesg는 프로세스가 종료 된 이유를 알려줍니다.


답변 주셔서 감사합니다! 방금 언급 한 로그 파일을 확인했지만 유용한 데이터를 찾을 수없는 것 같습니다. 내 답변에 대한 업데이트를 확인하여 엿볼 수 있습니다.
Dan Loewenherz

3
네, 당신은 oom-killer에 조금 빠져 있습니다. 메모리가 부족하다는 의미입니다. 인스턴스에 스왑 공간을 추가해보십시오 (수백 메가의 스왑만으로도 메모리 부족 상황에서 많은 도움이 될 수 있음).
히스

EC2 인스턴스에 스왑을 추가하는 방법을 생각해 다른 사람을 위해,이 답변 (인스턴스에 SSHing 후) 저를 도와 : stackoverflow.com/a/17173973/4900327
Abhishek Divekar에게

10

업데이트에 게시 한 로그는 시스템의 메모리가 부족하고 "다른 모든 기능이 실패한 경우"여유 메모리를 유지하기 위해 프로세스를 종료하기 위해 OOM 킬러 가 호출되고 있음을 나타냅니다 . OOM 킬러에 대한 선택 알고리즘은 "장기 실행"프로세스를 대상으로합니다. 선택 알고리즘에 대한 설명은 링크 된 페이지를 참조하십시오.

확실한 해결책은 더 많은 메모리이지만 어딘가에 메모리 누수로 인해 메모리가 부족할 수 있으며 더 많은 메모리를 추가하면 OOM 킬러가 호출되는 경우 지연 될 수 있습니다. 자주 사용하는 도구 (top, ps 등)로 메모리를 가장 많이 사용하는 프로세스에 대해서는 프로세스 테이블을 확인한 후 프로세스를 확인하십시오.


OOM 킬러는 장기적으로 실행되는 활동이 적은 프로세스를 선호합니다. 프로덕션 서버에서 sshd를 종료하면 디버깅이 까다로워집니다.
mfarver

Sshd는 자체 / proc / pid / oom_adj 점수를 조정하여 oom killer에 의해 죽일 수 없습니다 (다른 모든 것을 죽이기 전에).
yaplik

@yaplik 최근 배포에는 더 이상 적용되지 않는 것 같습니다. 자식 프로세스는 oom_adj의 값을 상속하므로 악의적 인 사용자는 OOM 킬러가 프로세스를 종료하지 않고 모든 메모리를 소비하여 DoS를 유발할 수 있습니다.
ikso

4

다른 사람들이 이미 설명했듯이 메모리 부족으로 인해 메모리 부족 킬러가 트리거되고 일부 프로세스가 종료됩니다.

다음 중 하나를 수행하여이 문제를 해결할 수 있습니다.

a) ec2 머신을보다 강력한 것으로 업그레이드하십시오. '소형 인스턴스'는 '마이크로 인스턴스'(0.64GB)보다 2.5 배 더 많은 메모리 (1.7GB)를 가지며 추가 비용이 듭니다.

b)는 추가 스왑 파티션 - 추가 EBS 드라이브를 추가, mkswap /dev/sdx, swapon /dev/sdx, EBS 스토리지 및 IO 수수료 비용

C) 스왑 파일을 추가 - dd if=/dev/zero of=/swap bs=1M count=500, mkswap /swap, swapon /swap, IO 수수료 및 루트 EBS 여유 공간 비용

c)는 충분해야하지만, 마이크로 인스턴스는 CPU 제한으로 인해 장기 실행 CPU 집약적 작업을 실행하지 않아야합니다 (짧은 버스트 만 허용됨).


3

나는 같은 문제가 있었다. 내 프로세스가 종료되었습니다.

사용중인 Ubuntu AMI에 스왑 공간이 설정되어 있지 않다는 것을 알았습니다. 메모리가 가득 차서 사용 가능한 스왑 공간이 없으면 커널은 예기치 않게 프로세스를 강제 종료하여 자체를 보호합니다. 스왑 공간이이를 방지합니다. (이 문제는 613MB의 작은 메모리로 인해 Micro 인스턴스와 특히 관련이 있습니다.)

스왑 공간 설정 유형이 있는지 확인하려면 다음을 수행하십시오. swapon -s

스왑 공간 설정 : http://www.linux.com/news/software/applications/8208-all-about-linux-swap-space

기타 리소스 : http://wiki.sysconfig.org.uk/display/howto/Build+your+own+Core+CentOS+5.x+AMI+for+Amazon+EC2


나를 위해 일했다! 내 dmesg에는 "select proccess_name to kill"이 하나씩 만 포함되어 있었고 / var / log / messages 또는 유용한 로그가 없었지만 "free -h"를 실행하면 메모리가 거의 남아 있지 않은 것으로 나타났습니다. 많은 감사합니다!
divieira

1

로그에 스왑 / 캐시 메모리가 부족하다고 표시됩니다.

    5 월 14 일 20:29:15 ip-10-112-33-63 커널 : [11144050.272240] 스왑 캐시에 0 페이지
    5 월 14 일 20:29:15 ip-10-112-33-63 커널 : [11144050.272242] 캐시 통계 교환 : 0 추가, 0 삭제, 0/0 찾기
    5 월 14 일 20:29:15 ip-10-112-33-63 커널 : [11144050.272243] 무료 스왑 = 0kB
    5 월 14 일 20:29:15 ip-10-112-33-63 커널 : [11144050.272244] 총 스왑 = 0kB

실행중인 작업 / 프로세스를 일괄 적으로 분할 할 수 있습니까? 다른 프로세스를 중지 한 후 별도로 실행 해 볼 수 있습니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.