Слишком много выполнений процессов httpd и замораживания сервера CentOS

Файл, в котором Вы нуждаетесь, является host.conf, это настраивает сопоставитель DNS для системы. Отключить внешние поиски DNS и использовать только использование файла hosts:

хосты порядка

Кроме того, в зависимости от распределения, Вы, возможно, должны отредактировать nsswitch.conf также.

5
задан 23 October 2011 в 10:29
4 ответа

что говорит tail -f / var / log / messages , когда вы испытываете высокую нагрузку на систему?

Ваши процессы сильно нагружают ввод-вывод или очень загружают процессор?

Одно наблюдение:

Похоже, у вас 18 ГБ физической памяти, но нет места для подкачки ... , например, ваша команда top показывает «Swap: 0k total» ... это означает что у вас нет настроенного пространства подкачки.

В общем, у вас всегда должно быть достаточно места подкачки в системе UNIX! Swap-size = 1 ... 2-кратный размер ОЗУ - хорошая идея. Хорошая идея - использовать быстрый раздел. По-настоящему плохие вещи случаются, если в вашей системе UNIX заканчивается ОЗУ и нет Swap .. процессы просто умирают необъяснимо ... это очень плохо! особенно в производстве. Диск дешевый! добавьте щедрый раздел подкачки! : -) или, в худшем случае, вы также можете создать файл подкачки позже.

В любой системе UNIX вам действительно нужно пространство подкачки, потому что именно там процессы живут, пока они не запланированы на одном из процессоров. Если у вас нет места для подкачки, произойдут действительно плохие вещи, потому что в вашей системе не хватит мест (ОЗУ), где можно создавать новые процессы - она ​​не может поместить их в подкачку, потому что их нет, поэтому вы увидите чрезвычайно высокие нагрузки, зависание системы и необъяснимое завершение процессов.

Чтобы проверить используемую память и пространство подкачки, вы можете запустить free -k . Вы также можете проверить конфигурацию подкачки, запустив swapon -s .. это не покажет никаких выходных данных, если подкачка не настроена.

Как правило, настраивает пространство подкачки приблизительно 1. .2 раза больше вашей физической памяти. Я бы сказал, что если у вас 18 ГБ ОЗУ, настройте ~ 20..30 ГБ Swap - не скупитесь на Swap, потому что «диск очень дешевый»!

Отказ от ответственности: есть несколько исключений, когда вы можете жить без свопа, но зато настраивать и не нуждаться в нем не помешает! :)

Два варианта создания пространства подкачки:

  • либо создать раздел подкачки, желательно на самом быстром разделе диска (лучший выбор; или добавить флешку на физический сервер)

  • , либо создать файл подкачки ( если у вас нет места на диске для разделения; это также хороший вариант, если позже вы обнаружите, что вам нужно больше подкачки, чем вы ожидали)

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

После включения пространства подкачки с помощью sudo swapon -a ,

7
ответ дан 3 December 2019 в 01:27

20 ГБ - 30 ГБ пространства подкачки очень много. Если вы меняете 20 ГБ в Linux, у вас большие проблемы.

0
ответ дан 3 December 2019 в 01:27

В вашем случае своп не нужен. Если вы хотите, вы можете создать раздел или файл подкачки размером 1-2 ГБ, чтобы иметь больше физической памяти для кеша файловой системы.

Я не понимаю, почему кэшированная память и память буферов равны 0. Можете ли вы вставить вывод cat / proc / meminfo ?

У вас очень высокая нагрузка ввода-вывода. Это может быть диск или сеть. Попробуйте снизить нагрузку. Для диска смонтируйте раздел данных с параметром noatime. Попытайтесь выяснить, какой процесс наиболее интенсивен вводом-выводом. Для этого используйте iotop и dstat`.

Попробуйте обновить прошивку и дайверы (модули ядра) для контроллера диска и сетевой карты. Если вы используете виртуальную машину, убедитесь, что вы устанавливаете драйверы паравиртуализации (например, VMware Tools). Если вы используете 32-битное ядро ​​с PAE,

0
ответ дан 3 December 2019 в 01:27

Почти наверняка вашей машине не хватает памяти, потому что у вас слишком много «толстых» процессов Apache, которые мало работают или не работают вообще.

Apache обычно использует модель «prefork». PHP обычно выполняется внутри процесса. Это может быть проблематично по следующим причинам:

  • PHP заставляет дочерние процессы apache использовать много памяти каждый.
  • Обслуживание статических файлов по медленным соединениям позволяет дочерним процессам работать в течение длительного времени без всякой причины
  • HTTP Сообщения поддержки активности, если они включены, также позволяют использовать дочерние процессы.

«Плохим» решением было бы отключить пакеты поддержки активности (или, возможно, сократить время поддержки активности). Обратите внимание, что сообщения поддержки активности ОЧЕНЬ хороши для производительности, особенно на HTTPS.

«Лучшим» решением было бы переключиться на лучшую архитектуру. Лучшая архитектура будет такой, в которой вы не тратите зря »

0
ответ дан 3 December 2019 в 01:27

Теги

Похожие вопросы