Назад | Перейти на главную страницу

Почему в Linux, когда я использую команду PS, я вижу несколько строк для www-данных?

У меня есть сервер 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