У меня есть веб-сервер IIS 8.5. ОС v: Windows Server 2012.
Когда количество Hit увеличивается, тогда огромное php-cgi.exe открыть в процессе Windows, но через некоторое время многие процессы показывают приостановленное состояние.
В результате сайт не работает, а система слишком медленно реагирует. В пуле приложений IIS есть возможность перезапуска / перезапуска.
Но если я перезапускаю пул приложений каждую минуту, текущие подключенные пользователи будут недоступны. Как мы можем удалить только приостановленный процесс. Проверьте изображения.
я решил проблему.
Шаг 1: Создайте команду TaskKill на свой вкус. Например:
taskkill /IM "php-cgi.exe" /F /FI "Username eq Yourusername" /FI "MemUsage lt 300" /T
большая часть приостановленного процесса использует менее 300 КБ памяти. Параметр детализации Task Kill
Шаг 2: создайте командный файл. Например:
@echo off
taskkill /IM "php-cgi.exe" /F /FI "Username eq Yourusername.com" /FI "MemUsage lt 300" /T
:exit
Шаг 3: Запустите командный файл каждые 5 минут (или ваше необходимое время) с помощью планировщика задач Windows.
Перейти к
Панель управления-> Администрирование-> Планировщик заданий
добавить задачу в планировщик задач.Настроить планировщик заданий
Вот и все. В вашей системе нет приостановленных процессов.