web-dev-qa-db-ja.com

Amazon EC2(Ubuntu 10.04)でほとんどの長時間実行コマンドが即座に強制終了されます

ターミナルで何らかの長時間実行コマンドを実行すると、プログラムは即座に終了し、ターミナルはテキストKilledを出力します。

ポインタはありますか?コマンドが強制終了された理由を説明するデータを含むログファイルがあるのでしょうか。

更新

これがdmesgからのスニペットで、うまくいけば問題の原因を明らかにするはずです。役立つかもしれないもう1つの注意事項は、これが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
27
Dan Loewenherz

dmesgコマンドの出力を見て、プロセスが強制終了された原因を見つけることができるはずです。または、ログファイル/var/log/kern.log/var/log/messages、または/var/log/syslog

プロセスが即座に強制終了される原因となる可能性のあるものはいくつかあります。

  • さまざまなメモリまたはCPU使用タイプのハードulimitを超える場合は、ulimit -H -aを使用して調べることができます。
  • システムの仮想メモリが少ない場合、プロセスはカーネルのoom-killerによって強制終了され、メモリを解放できます(あなたの場合、これはおそらくこれではありません)
  • システムにSELinuxやPaX/grsecurityがインストールされている場合、セキュリティポリシーで許可されていない処理を実行しようとしたり、自己修正コードを実行しようとしたりすると、プロセスが強制終了される可能性があります。

ログまたはdmesgには、プロセスが強制終了された理由が示されているはずです。

37
Heath

アップデートで投稿したログは、システムのメモリが不足していることを示しており、他のすべてが失敗したときに空きメモリを維持するためにプロセスを強制終了するために OOM killer が呼び出されています。 OOMキラーの選択アルゴリズムは、「長期実行」プロセスを有利にターゲットにしている可能性があります。選択アルゴリズムの説明については、リンク先のページを参照してください。

明白な解決策はより多くのメモリですが、どこかでメモリリークが原因でメモリが不足している可能性があり、メモリを追加しても、その場合はOOMキラーの起動が遅れるだけです。お気に入りのツール(top、psなど)で最もメモリを使用しているプロセスのプロセステーブルを確認し、そこから移動します。

11
rthomson

他の人がすでに説明したように、メモリが不足しているため、メモリ不足のキラーがトリガーされ、いくつかのプロセスが強制終了されます。

これを修正するには、次のいずれかを実行します。

a)ec2マシンをより強力なマシンにアップグレードします。「小さなインスタンス」には「マイクロインスタンス」(0.64GB)の2.5倍のメモリ(1.7GB)があり、追加の費用がかかります

b)スワップパーティションの追加-EBSドライブを追加しますmkswap /dev/sdxswapon /dev/sdx、EBSストレージの費用とIO料金

c)スワップファイルの追加-dd if=/dev/zero of=/swap bs=1M count=500mkswap /swapswapon /swap、コストIO料金およびルートEBSの空き容量

C)で十分ですが、マイクロインスタンスはcpuの制限(短いバーストのみが許可されている)のため、長時間実行されるcpu集中型のタスクを実行することは想定されていないことに注意してください。

4
yaplik

同じ問題がありました。私のプロセスは殺されていました。

私が使用していたUbuntu AMIには、スワップ領域が設定されていないことがわかりました。メモリがいっぱいで、使用可能なスワップ領域がない場合、カーネルは、プロセス自体を保護するためにプロセスを強制終了します。スワップスペースはそれを防ぎます。 (メモリが613 MBと小さいため、この問題は特に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

3
Delicious

ログには、スワップ/キャッシュメモリが不足していると記載されています。

 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 

バッチで実行しているジョブ/プロセスを分割できますか?おそらく、他のプロセスを停止した後、単独で実行してみることができますか?

1
Nandhini Anand