3
Rsyncは単一の50 GBファイルでLinux OOMキラーをトリガーしました
server_Aに単一の50 GBファイルがあり、それをserver_Bにコピーしています。走る server_A$ rsync --partial --progress --inplace --append-verify 50GB_file root@server_B:50GB_file Server_Bには32 GBのRAMと2 GBのスワップがあります。ほとんどはアイドル状態であり、多くの空きRAMが必要でした。十分なディスク容量があります。約32 GBで、リモート側が接続を閉じたため、転送は中止されます。 Server_Bがネットワークから削除されました。データセンターに再起動を依頼します。クラッシュする前のカーネルログを見ると、0バイトのスワップを使用しており、プロセスリストはごくわずかなメモリを使用していました(rsyncプロセスは600 KBのRAMを使用していると表示されていました)が、oom_killerはワイルドになり、ログの最後の部分は、metalogのカーネルリーダープロセスを強制終了する場所です。 これはカーネル3.2.59、32ビットです(したがって、いずれのプロセスも4 GBを超えるマップはできません)。 まるでLinuxが寿命の長い実行中のデーモンよりもキャッシュを優先しているかのようです。何が?そして、どうすれば再び起こるのを止めることができますか? oom_killerの出力は次のとおりです。 Sep 23 02:04:16 [kernel] [1772321.850644] clamd invoked oom-killer: gfp_mask=0x84d0, order=0, oom_adj=0, oom_score_adj=0 Sep 23 02:04:16 [kernel] [1772321.850649] Pid: 21832, comm: clamd Tainted: G C 3.2.59 #21 Sep 23 02:04:16 [kernel] …
66
rsync
oom
oom-killer