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


26

ターミナルで長時間実行されるコマンドを実行すると、プログラムが即座に停止し、ターミナルがテキストを出力します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

非常に役に立った、ちょうど同じ問題だった
クッキー

回答:


36

dmesgコマンドの出力を見ることで、プロセスを何が殺したのかを知ることができるはずです。またはログファイルで/var/log/kern.log/var/log/messagesまたは/var/log/syslog

プロセスを即座に強制終了させる可能性のあるものがいくつかあります。

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

ログまたはdmesgには、プロセスが強制終了された理由が表示されます。


ご回答有難うございます!あなたが言及したログファイルをチェックアウトしましたが、私は多くの有用なデータを見つけることができないようです。私の答えの更新を見て、一glを見てください。
ダンLoewenherz

3
うん、あなたはoom-killerを少し手に入れています。つまり、メモリが不足しています。インスタンスにスワップ領域を追加してみてください(数百メガバイトのスワップでも、メモリ不足の状況で大いに役立ちます)。
ヒース

EC2インスタンスにスワップを追加する方法を知りたがっている人にとって、この回答は(インスタンスへのSSH後)助けてくれました: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/sdxswapon /dev/sdx、EBSストレージやIO手数料がかかります

c)のスワップファイルを追加する- 、、dd if=/dev/zero of=/swap bs=1M count=500 ルートEBS上、コストIO料とフリースペースmkswap /swapswapon /swap

c)で十分ですが、マイクロインスタンスはCPU制限のために長時間実行されるCPU集中タスクを実行することは想定されていません(短いバーストのみが許可される)。


3

同じ問題がありました。プロセスが強制終了されました。

私が使用していた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


私のために働いた!私のdmesgには次々と「select proccess_name to kill」のみが含まれており、/ var / log / messagesまたは有用なログはありませんでしたが、「free -h」を実行するとメモリがほとんど残っていませんでした。どうもありがとう!
ディビエイラ

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.