La primera opción sí que es la más interesante, MAX_SORT_RECORDS. Quiere decir que por defecto, trabajará con 200.000 líneas antes de empezar a guardar sus resultados a ficheros temporales. En tu caso, tienes que hacer la cuenta: ¿Cuánta memoria libre dispongo para ejecutar la tarea? Si suponemos que sólo está arrancado el sistema operativo y el intérprete Perl, en un Windows, quizás te queden libres 600Mb (con el módulo Win32::SystemInfo se puede saber). Luego, divides esa memoria libre entre la media de lo que ocupa cada línea de tu fichero.
Así sabrás el número de líneas que pueden entrar a la vez en la memoria de tu equipo. Luego arranca el programa de ordenación con ese valor y estarás seguro de que la utiliza al máximo.
Si el número de líneas leídas supera esa cantidad, empezará a usar ficheros temporales, lo que será el proceso más lento.
Y el MAX_SORT_FILES puede ser un valor muy alto. En un Windows moderno quizás puedas poner 200 (no estoy seguro... a mí Microsoft ya no me importa )