Linuxで巨大なリスト(130Gb)を並べ替える

Linuxで巨大なリスト(130Gb)を並べ替える

sortLinuxで巨大なリスト(130GB)を作成しようとしています。そのうちのいくつかは次のとおりです。

@K00188:14:H2LMFBBXX:6:1101:27440:1668 1:N:0:0_I_CGATGT
@K00188:14:H2LMFBBXX:6:1101:30262:1668 1:N:0:0_I_CGATGT
@K00188:14:H2LMFBBXX:6:1101:6501:1686 1:N:0:0_I_CGATGT
@K00188:14:H2LMFBBXX:6:1101:18133:1686 1:N:0:0_I_CGATGT
@K00188:14:H2LMFBBXX:6:1101:21827:1686 1:N:0:0_I_CGATGT

問題は、その期間にRAMが不足していることですsort

以前の質問にはいくつかの解決策(sort --parallelPythonスクリプトなど)がありましたが、私の手には機能しませんでした。

続行したいが、sortオプションを使用すると、次のエラーメッセージが表示されます。--parallel

sort: unrecognized option '--parallel=2'
Try `sort --help' for more information.

大きなリストをソートするために書かれたPythonスクリプトがある場合は、試してみたいと思います。

おすすめメニューとは何ですか?

ベストアンサー1

sort(たとえば、一部の削除された実装を除くbusybox)は、制限された量だけを使用し、その制限に達すると一時ファイルに依存するため、メモリによって制限されません。

ディスク容量が不足する可能性が高いです。使用している準備領域に約130 GBの空きディスク容量が必要ですsort(書き込みファイル自体を使用しない限り、結果を保存するために使用されるディスク容量に追加sort -o mybigfile mybigfile)。

ファイルシステムに十分な空き容量がない場合は、空きディスク容量をより多くの場所/tmpに設定します(いくつかの実装されたオプションも参照)。$TMPDIR-Tsort

TMPDIR=~/tmp sort my-big-file > sorted

必要な一時ディスク容量を減らすために、一部のsort実装では一時ファイルを圧縮するように指示することがあります。 CPUで使いやすいコンプレッサー(lzop回転ディスクのファイルシステムなど)を選択すると、パフォーマンスが向上する可能性があります。

TMPDIR=~/tmp sort --compress-program=lzop my-big-file > sorted

おすすめ記事