- ベストアンサー
Sortコマンドメモリーオーバー
sortコマンドで2GBのファイルをソートしよとしたところメモリオーバーのため失敗しました。 sortコマンドの最大メモリーは5GBを指定しています。(sort -S 5000000) そこでこれを解決するために幾つか質問があります。 1. -Sで最大メモリを指定しない場合の最大メモリはいくらになるのでしょうか? 2. Unixのsortコマンドは巨大ファイルをソートするために用途として使用するのに向いているのでしょうか?(使用することはあるのでしょうか?) 3. 解決方法がありましたら宜しくお願いいたいます。 4. 代替案がありましたら宣しくお願い致します。 (メモリーはなるべく消費しない方法) 宜しくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#246547
回答No.4
その他の回答 (4)
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.5
noname#246547
回答No.3
noname#246547
回答No.2
noname#246547
回答No.1
補足
1.以下になります。 sort -S 5000000 -k 1.67,1.68 -k 1.69,1.71 -k 1.48,1.48 -k 1.49,1.58 -k 1.65,1.66 -k 1.64,1.64 -k 1.6,1.15 -k 1.16,1.25 -k 1.934,1.934 -k 1.59,1.63 -k 1.154,1.154 -k 1.1019,1.1019 -k 1.1018,1.1018 -k 1.1021,1.1021 -k 1.1022,1.1022 -k 1.933r,1.933 in.txt > out.txt 2.-Sを指定しています。 3. bash-2.05$ ulimit -a core file size (blocks) unlimited data seg size (kbytes) unlimited file size (blocks) unlimited open files 1024 pipe size (512 bytes) 10 stack size (kbytes) 8192 cpu time (seconds) unlimited max user processes 29995 virtual memory (kbytes) unlimited 宜しくお願い致します。 また、-Sで12GBを指定し2GBのファイルをソートしましたが同じ結果となりだめでした。 スワップメモリではなく以下のメッセージが原因ではないかと考えております。 sort: missing NEWLINE added at end of input file /var/tmp/stmAAA9zaWG6.00000001