У меня есть очень сложный скрипт, написанный на PHP, который читает много CSV-файлов и импортирует контент в базу данных. В некоторых местах я делаю это не напрямую через операторы INSERT, а через объекты.
Моя проблема в том, что top (скрипт работает на Ubuntu 10.04 с PHP 5.3.2) показывает, что процесс apache2 использует несколько ГБ памяти, а memory_get_usage (true) будет занимать около 250 МБ. Я начал вызывать gc_collect_cycles (), которая заявила, что собирает более 100000 циклов, но объем используемой памяти не уменьшается. Я начал сбрасывать переменные, прежде чем покинуть области видимости функций и все такое.
Есть ли способ отследить причину огромного использования памяти и, что еще важнее, способ ее исправить?