Я парсил xml дамп в 25гб добавление в базу, скрипт запускал 2 раза первый раз добавлял только id, как всё добавилось ребутал сервак, потом на основе имеющихся id в базе добавлял все остальное, железо было corei7 24гб озу, можно попробовать его разбить на несколько файлов по регулярке что бы структуру не нарушить, при разбивке писать в временный файлик строку на которой закончилась прошлая разбивка, в случае перегруза сервака можно будет начать с того же места