Я сортировал большой файл (101MB - около 700MB после распаковки ), используя команду сортировки на сервере, который имеет 48 ГБ памяти. Это была единственная тяжелая работа, которую он делал в то время. Однако я заметил, что этот вид создает много временных файлов. Означает ли это, что не хватает оперативной памяти?

Или это так, что сортировка всегда создает файлы? Можно ли ускорить процесс сортировки, передав файловую систему папок, смонтированную в ОЗУ, с помощью команды -T ? Я попробовал это, но я не заметил значительного ускорения, и мне интересно, правильно ли я построил тест, или я просто не понимаю, что происходит правильно.

Это команда, которую я дал:

zcat file0.nq.gz | sort

Примерно через 20 секунд у меня есть следующие файлы в /tmp

nuoritoveri@nubis:/tmp[127]$ ls
sortecuGwN  sorteKeowj  sortGn7dCr  sortkdk5Ws  sortNb9Khh  sortPGTQ6b  sortQearCg  sortvBB5eS  sortZW2mWj
sort1UsQla  sortEGauDb  sortFMn7bW  sortiUDJYd  sortlaGUgo  sortpEmGb5  sortPQUNQx  sortqlb7jh  sortxcjjuM
sortaVKeEN  sortejgptJ  sortgAJJ9l  sortJRq2GB  sortmQf888  sortpFfWdy  sortpv9kO8  sortT52TVQ  sortxq8r80

Файлы исчезают, когда команды заканчиваются. Я также проверил, что происходит, когда я не передаю данные, а просто сортирую разархивированный файл:

sort file0.nq

Файлы в /tmp появляются также, но не с такой высокой скоростью (возможно, потому что он должен прочитать файл сам).

0