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

Почему на некоторых серверах выполняется так много процессов?

У меня два сервера VPS, но у них сильно различаются объемы использования памяти и запущенные процессы. Я все еще новичок в использовании серверов Linux, поэтому мне сложно понять, что происходит, и что я могу сделать, чтобы это исправить.

Оба являются 32-битными установками Debian 5.

На одном сервере со 128 МБ оперативной памяти и одним ядром ЦП у меня есть полный сервер работает всего в 84 МБ ОЗУ. Другой сервер имеет 512 МБ (четырехъядерный процессор) и ничего не работает, кроме основных процессов но все еще использует 94 МБ ОЗУ.

Есть ли у кого-то другой вид технологии виртуализации, который требует большего количества основных процессов Linux или что?

Вы видите нормальное поведение. Не путайте используемую память с недоступной. Многие структуры, хранящиеся в памяти, можно быстро уменьшить, когда потребуется память. Ожидайте, что ваше использование будет увеличиваться, пока система работает и доступно много памяти.

Пространство, используемое для подсчета дискового кэша, как использованное После чтения или записи файла данные обычно кэшируются до тех пор, пока не понадобится это пространство. Файлы журнала, как правило, предназначены только для записи, но кэшируются по мере создания. Несколько вещей, которые можно заметить на моем графике использования:

  • Чем дольше работает система, тем больше памяти выделяется для файлового кэша и буферов. Это ограничено объемом доступной памяти. По мере увеличения требований к памяти объем памяти, выделенной для файлового кэша и буферов, может уменьшаться по мере необходимости.
  • Общий объем используемой памяти стабилизирует несколько мегабайт до 100%. Это память, зарезервированная для запуска подпроцессов. Если это пространство становится слишком маленьким, ожидайте низкой производительности и сбоев.
  • Общий объем используемой памяти не является импортируемым настолько, насколько он используется.

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

Процессы веб-сервера часто выполняются с главным процессом для приема входящих соединений и множеством дочерних процессов для обработки запросов. Дочерние процессы обычно имеют одинаковый PPID (идентификатор родительского процесса). Один из ваших серверов работает nginx и php-cgi для обработки веб-запросов с использованием значительного количества процессов. Команда pstree, если таковой имеется, полезно увидеть такую ​​настройку.