sw-engine Plesk Onyx вызывает ошибку нехватки памяти

Я пытаюсь запустить большой php-scipt, который запускается каждый час, если предыдущий уже закончен.

Теперь я получаю ошибки «Недостаточно памяти», и если я анализирую «top», задача sw-engine занимает много памяти, и эта память не освобождается в любое время.
Установленное Plesk Onyx версии 17.8.11 Обновление № 17 — с использованием php 7.2.9.

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
4626 psaadm   20  0    8838088 8.195g 17344 S  1.7  34.1    9:23.35 sw-engine

Любая идея о том, как избавиться от sw-двигателя, потребляющего все ресурсы?

Почему sw-engine потребляет ресурсы, когда я просто запускаю запланированное задание?

0

Решение

sw-engine является обработчиком PHP-FPM, который используется Plesk внутри, чтобы запускать, например, сценарии Plesk UI и PHP как запланированные задачи:

# sw-engine -v
PHP 7.1.14 (cli) (built: Apr  9 2018 16:55:38) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

Вместо sw-engine, вы можете использовать любую версию PHP, установленную на сервере. Например, /usr/bin/php для PHP, предоставляемого поставщиком ОС, или /opt/plesk/php/7.2/bin/php для PHP 7.2 поставляется с Plesk.

Для этого просто создайте запланированное задание с Run a command введите и добавьте путь к сценарию с путем к исполняемому файлу PHP:

введите описание изображения здесь

По вопросу ООМ, sw-engine по умолчанию используется ограничение памяти 256 МБ:

# grep limit /usr/local/psa/admin/conf/php.ini
memory_limit = 256M

Таким образом, похоже, что предел памяти переопределен где-то в самом скрипте.
Вы можете проверить, если следующим образом:

# grep -i memory_limit /path/to/script.php

Кроме того, вы можете попробовать запустить его вручную, чтобы увидеть, как он работает с различными версиями PHP, чтобы увидеть, есть ли разница:

# /usr/bin/php /path/to/script.php
# /usr/sbin/php-fpm /path/to/script.php
# /usr/sbin/sw-engine-fpm /path/to/script.php
# /opt/plesk/php/7.2/bin/php /path/to/script.php
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]