Frage Die meisten lang laufenden Befehle wurden sofort auf Amazon EC2 (Ubuntu 10.04) beendet


Wenn im Terminal ein lang andauernder Befehl ausgeführt wird, stirbt das Programm sofort und das Terminal gibt den Text aus Killed.

Irgendwelche Zeiger? Vielleicht gibt es eine Protokolldatei mit Daten, die erklären, warum die Befehle gelöscht werden?

Aktualisieren

Hier ist ein Ausschnitt von dmesg Das sollte hoffentlich beleuchten, was das Problem verursacht. Eine weitere hilfreiche Anmerkung ist, dass es sich um eine Amazon EC2-Instanz handelt.

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

23
2018-05-10 18:24


Ursprung


Sehr hilfreich, hatte nur das gleiche Problem - Cookie


Antworten:


Sie sollten in der Lage sein, herauszufinden, was Ihren Prozess umgebracht hat, indem Sie auf die Ausgabe des dmesg Befehl; oder in den Logfiles /var/log/kern.log, /var/log/messages, oder /var/log/syslog.

Es gibt eine Reihe von Dingen, die dazu führen können, dass ein Prozess summarisch beendet wird:

  • Wenn es das harte ulimit für verschiedene Speicher- oder CPU-Verwendungstypen überschreitet, die Sie untersuchen können ulimit -H -a
  • Wenn das System wenig virtuellen Speicher hat, können Prozesse vom Kernel-Oom-Killer beendet werden, um Speicher freizugeben (in Ihrem Fall ist es wahrscheinlich nicht das)
  • Wenn auf dem System SELinux und / oder paX / grsecurity installiert ist, kann ein Prozess beendet werden, wenn er versucht, etwas zu tun, das von der Sicherheitsrichtlinie nicht zugelassen wird, oder wenn er versucht, selbst geänderten Code auszuführen.

Die Protokolle oder dmesg sollten Ihnen sagen, warum der Prozess beendet wurde.


32
2018-05-13 20:14



Danke für deine Antwort! Ich habe nur die Log-Dateien ausgecheckt, die Sie erwähnt haben, aber ich kann nicht viele nützliche Daten finden. Sehen Sie sich das Update meiner Antwort an, um einen Blick darauf zu werfen. - Dan Loewenherz
Ja, du wirst vom Oom-Killer gebissen; was bedeutet, dass Ihnen der Speicher ausgegangen ist. Versuchen Sie, Ihrer Instanz etwas Swap-Speicherplatz hinzuzufügen (sogar einige hundert MB Swap können in Situationen mit wenig Arbeitsspeicher sehr hilfreich sein). - Heath
Für andere, die sich gewundert haben, wie man Swap zu einer EC2-Instanz hinzufügt, hat mir diese Antwort (nach SSHing in die Instanz) geholfen: stackoverflow.com/a/17173973/4900327 - abhi divekar


Die Protokolle, die Sie wie im Update gepostet haben, weisen darauf hin, dass auf Ihrem System nicht mehr genügend Arbeitsspeicher vorhanden ist OOM Killer wird aufgerufen, um Prozesse zu beenden, um freien Speicher zu erhalten, wenn "alles andere fehlschlägt". Der Auswahlalgorithmus für den OOM-Killer könnte sich positiv auf Ihre "lang laufenden" Prozesse auswirken. Eine Beschreibung des Auswahlalgorithmus finden Sie auf der verknüpften Seite.

Die offensichtliche Lösung ist mehr Arbeitsspeicher, aber möglicherweise ist aufgrund eines Speicherlecks der Arbeitsspeicher erschöpft, und das Hinzufügen von mehr Arbeitsspeicher würde wahrscheinlich nur den OOM-Killer verzögern, der aufgerufen wird, wenn dies der Fall ist. Überprüfen Sie Ihre Prozesstabelle auf Prozesse mit den meisten Speicher mit Ihrem Lieblings-Tool (Top, PS, etc.) und gehen Sie von dort.


8
2018-05-15 19:58



Der OOM-Killer hat definitiv eine Vorliebe für lang laufende Prozesse mit geringer Aktivität. Wenn Sie sshd auf einem Produktionsserver beenden, wird das Debugging schwierig. - mfarver
Sshd passt seinen eigenen / proc / pid / oom_adj-Wert an, so dass er nicht von einem Oom-Killer getötet werden kann (bevor er alles andere umbringt). - yaplik
@ yaplik Dies scheint nicht mehr für die letzten Distributionen zu gelten. Da untergeordnete Prozesse den Wert von oom_adj erben, kann ein böswilliger Benutzer ein DoS verursachen, indem er den gesamten Speicher verbraucht, ohne dass seine Prozesse vom OOM-Killer getötet werden. - ikso


Wie bereits von anderen erläutert, geht Ihnen der Speicher aus Speichermörder wird ausgelöst und tötet einen Prozess.

Sie können dies entweder beheben:

a) rüste deine ec2-Maschine auf eine leistungsfähigere auf, 'kleine Instanz' hat 2,5x mehr Speicher (1,7 GB) als 'micro instance' (0,64 GB), kostet zusätzliches Geld

b) Swap-Partition hinzufügen - zusätzliches EBS-Laufwerk hinzufügen, mkswap /dev/sdx, swapon /dev/sdx, kostet EBS-Speicher und IO-Gebühren

c) Hinzufügen der Auslagerungsdatei - dd if=/dev/zero of=/swap bs=1M count=500, mkswap /swap, swapon /swap, kostet IO-Gebühren und freien Speicherplatz auf Root-EBS

Das c) sollte ausreichend sein, aber bedenken Sie, dass die Mikroinstanz keine lang andauernden CPU-intensiven Aufgaben aufgrund von CPU-Limits ausführen sollte (nur kurze Bursts erlaubt).


2
2018-05-17 01:19





Ich hatte das gleiche Problem. Meine Prozesse wurden getötet.

Ich fand heraus, dass das Ubuntu AMI, das ich benutzte, keinen Swap Space eingerichtet hatte. Wenn der Speicher voll ist und kein Auslagerungsspeicher verfügbar ist, startet der Kernel unvorhersehbar Prozesse, um sich selbst zu schützen. Auslagerungsraum verhindert das. (Dieses Problem ist wegen der kleinen 613 MB Speicher für die Micro-Instanz besonders relevant.)

Um zu überprüfen, ob Sie einen Auslagerungsspeicher eingerichtet haben, geben Sie Folgendes ein: swapon -s

Swap Space einrichten: http://www.linux.com/news/software/applications/8208-all-about-linux-swap-space

Andere Ressourcen: http://wiki.sysconfig.org.uk/display/howto/Build+ihr+own+Core+CentOS+5.x+AMI+for+Amazon+EC2


2
2018-02-25 21:00



Arbeitete für mich! Mein dmesg enthielt nur viele "auswählen Prozessname "eine nach der anderen zu töten und ich hatte keine / var / log / messages oder irgendwelche nützlichen Logs, aber das Ausführen von" free -h "zeigte, dass fast keine Speicher mehr übrig waren. Vielen Dank! - divieira


Das Protokoll sagt, dass Sie keinen Swap / Cache-Speicher mehr haben.

    14. Mai 20.29.15 IP-10-112-33-63 Kernel: [11144050.272240] 0 Seiten im Swap-Cache
    14. Mai 20.29.15 ip-10-112-33-63 kernel: [11144050.272242] Cache-Statistiken wechseln: 0, löschen 0, finden 0/0
    14. Mai 20.29.15 IP-10-112-33-63 Kernel: [11144050.272243] Free Swap = 0kB
    14. Mai 20.29.15 IP-10-112-33-63 Kernel: [11144050.272244] Gesamt swap = 0kB

Können Sie den Job / Prozess, den Sie ausführen, in Batches aufteilen? Vielleicht können Sie versuchen, es isoliert zu starten, nachdem Sie die anderen Prozesse gestoppt haben?


0
2018-05-15 12:14