Вероятно, рабочий сервер имеет более низкий предел памяти для каждого процесса, чем ваша промежуточная виртуальная машина.Таким образом, ограничение, вероятно, наложено программным обеспечением, а не фактическим оборудованием.
Ограничения могут быть на пользователя (или, скорее, на класс пользователя ), а такжеобщесистемный (с использованием sysctl).Попробуйте запустить
% sysctl -Aa|fgrep kern.max
и сравните выходные данные между двумя серверами (kern.maxdsiz и kern.maxssiz представляют особый интерес).Кроме того, попробуйте просто запустить лимиты как пользователь веб-сервера:
% su # become root
% su -m www # become www
% limits
и, опять же, сравнить вывод.
Наконец, возможно, ваш производственный сервер просто используетбольше памяти (для других целей, например, для обслуживания другого контента), тогда как промежуточная система обрабатывает только одно преобразование файла и, таким образом, не достигает предела?