У меня есть сервер LAMP, который использует ubuntu 9.10, apache2, mysql5 и php5.
Когда я вхожу в систему как root через оболочку, я запускаю команду «ps aux» и вижу что-то вроде следующего
www-data 3151 0.1 4.3 220024 31032 ? S 12:22 0:00 /usr/sbin/apache2 -k start
www-data 3153 0.2 3.6 214776 26020 ? S 12:22 0:01 /usr/sbin/apache2 -k start
www-data 3162 0.3 5.1 225060 36920 ? S 12:26 0:01 /usr/sbin/apache2 -k start
www-data 3163 0.1 4.1 218872 29664 ? S 12:26 0:00 /usr/sbin/apache2 -k start
Почему я вижу несколько строк для www-данных? Каждая строка представляет реального пользователя на моем веб-сайте?
Время от времени у меня возникают проблемы с памятью, поэтому я пытаюсь определить, связана ли эта статистика www-данных.
Apache по умолчанию в большинстве дистрибутивов Linux использует предварительный рабочий модуль. Это порождает несколько процессов, каждый из которых обрабатывает некоторые запросы.
Apache держит ряд процессов готовыми и ожидающими, чтобы уменьшить задержку / накладные расходы на разветвление нового процесса - это дополнительные строки, которые вы видите в ps.
Процессы, которые вы видите, напрямую не сопоставляют пользователей / запросы 1: 1.
http://httpd.apache.org/docs/2.2/mod/prefork.html освещает это более подробно.
Чтобы проверить, какой рабочий модуль вы используете в Ubuntu / Debian, запустите apache2 -V
и найдите строку APACHE_MPM_DIR. Или беги dpkg -l | grep apache
- каждый MPM - это отдельный пакет.
Apache запускает несколько процессов. Подробнее читайте http://httpd.apache.org/docs/2.2/mpm.html