2013-08-01 3 views
0

Мы используем старую версию ImageManager TinyMCE (MoxieCode) на сайтах, которые были перемещены на сервер под управлением Cloud Linux.Как уменьшить использование ImageManager или php виртуальной памяти

К сожалению, наш хостинг не сообщил нам о наличии жесткого ограничения виртуальной памяти для каждой учетной записи в размере 1 048 576 КБ, чего не было на предыдущем сервере.

Это звучит очень много, но ImageManager теперь случайным образом производит внутреннюю ошибку сервера 500, и случайный выбор из примерно каждого из шести миниатюр успешно загружается.

В журнале ошибок сервера я нахожу следующее сообщение повторяющимся очень часто, снова случайным образом для разных index.php в разных папках, главным образом в папке диспетчера изображений/потока, а также в папке с языками, папке js и rpc папка:

Невозможно выделить память: не удалось создать дочерний процесс:/OPT/suphp/SBIN/suphp

и вот, и вот, если я обновить страницу CPanel для веб-сайта, в котором я в настоящее время освежать ImageManager, я вижу, что использование виртуальной памяти превысило 1,048 576 КБ. (Обычно он находится ниже 10% от этого.)

Я немного смущен, почему загрузка темы, некоторых таблиц стилей, языкового пакета и шести миниатюр потребует такого огромного объема памяти.

Особенно, как видно из phpinfo, для output_buffering установлено значение 0, а ob_start не вызывается нигде в коде ImageManager.

Я думал, что миниатюры создавались с нуля каждый раз вместо того, чтобы загружаться из папки mcith, но это не так, как я вижу из дат в файлах миниатюр.

Фактически, если я удалю миниатюры, предмет полностью зависает (thumbnail.auto_generate установлен в true).

Конечно, мы могли бы обновить до последнего ImageManager (теперь называемого MoxieManager), который мы использовали на других сайтах, и отлично работает, но поскольку пользовательский интерфейс и аутентификация сеанса значительно изменились, это будет связано с большим количеством как кодирования, так и переподготовки клиента, который не хочет обновления.

Если у кого-то есть идеи о том, как решить эту проблему, которая была бы высоко оценена.

+0

Похоже, что это была проблема с главной конфигурацией на сервере, которую наш хостинг теперь разрешил. – clayRay

ответ

0

лучшее, что вы можете сделать, это использовать следующие операторы в исходном коде ImageManager после каждой строки, которая выглядит, как он может съесть вашу память

error_log("current memory usage: ".memory_get_usage()." on line: ".__LINE__); 

как только вы нашли багги линии (ы) вы можете начать искать альтернативы

Смежные вопросы