Ninguém está respondendo, então foi o que eu fiz:
sort -T /mnt/tmp --parallel=14 -S 50G myBigFile.txt
Eu não usei --batch-size
porque não tinha certeza do que seria um bom valor e, presumivelmente, sort
é esperto sobre isso de qualquer maneira.
/mnt
é montado em um grande disco efêmero (a máquina é uma VM na nuvem). Se /tmp
estiver em um disco com muito espaço, você poderá deixar de fora -T
. Se você tem um disco muito rápido com espaço suficiente, use isso.
Se bem me lembro, ele precisa aproximadamente do mesmo espaço que o tamanho do arquivo que está sendo classificado - basicamente ele divide o arquivo em dois ou mais pedaços que ele pode classificar em memória, armazena-os no disco temporário, em seguida, faz uma classificação de mesclagem para produzir a saída final.