Разбейте файл на количество, которое вы можете прочитать в памяти.
Отсортируйте каждую сумму и запишите в файл. (Если бы вы могли вписать все в память, все готово)
Объединить отсортировать полученные файлы в один отсортированный файл.
Вы также можете сделать форму радикальной сортировки для повышения эффективности процессора, но основным узким местом является все переписывание и повторное чтение, которое вам нужно сделать.