Unixソートメモリ不足

Unixソートメモリ不足

次のコマンドを使用して、Fedora 18で2億行の25 GBファイルをソートしています。

ソート -S 10G -T /bigdisk 大容量ファイル

メモリがないため、プロセスは終了します。プロセスが死ぬ前に私のRAM(12GBの空き容量)を使い果たしておらず、ディスク容量も大丈夫でした。

理由の提案をいただきありがとうございます。私はsortがパーティショニングとマージを通じてこれを管理できると確信しています。

dmesgの追加情報

[87278.935572] Out of memory: Kill process 1971 (sort) score 258 or sacrifice child
[87278.935574] Killed process 1971 (sort) total-vm:4512168kB, anon-rss:4237040kB, file-rss:584kB 

ベストアンサー1

使用しないでください-S 10G。多すぎます(そして思ったようにうまくいかないかもしれません)。 OOMkillerの起動するシステムがすべてのメモリを使用していることを意味します。

~によると使用されるアルゴリズム渡すsort使用可能なメモリに応じてメモリを使用してください。:TotalMem / 8とAvailableMemの最大数の半分です。

たとえば、使用可能なメモリが4 GB(8 GBのうち)の場合、sort2 GBのRAMが使用されます。さらに、/ bigdiskに多くの2 GBファイルを作成し、最後にマージソートする必要があります。

おすすめ記事