Катастрофический отказ Mysql, oom-уничтожитель, из памяти, настраивая проблемы?

Я не знаю много о Debian и ни одного о NFSv4.

Но если опции монтирования являются все еще тем же как с NFSv3, мое избранное (для любого nfs-client-mount любая OS):

  • трудно (поэтому продолжают повторять без экспоненциальной задержки времен повторной попытки),
  • bg (продолжают пробовать в фоновом режиме, ничего не останавливая "позади" монтирования),
  • предайте земле (если Вы действительно хотите - можно уничтожить монтирование, не перезагружая клиент),

rsize и wsize настраиваются до разумных размеров на значение по умолчанию в наше время - смотрят на Вашу lokcal страницу справочника.

Я раньше использовал "wsize=32768, rsize=32768" для получения лучших уровней передачи перед этим.

Также необходимо заботиться на стороне сервера nfs (если NFSv4 является все еще тем же здесь как NFSv3):

  1. Сначала запустите все Сервисы NFS
  2. В последний раз запустите сервисный IP для Сервисов NFS

Еще клиент попытается снова соединиться против пустого "сервиса nfs" и перестанет работать вместо повторной попытки.

BTW - что имеет SAN, чтобы сделать (в этом случае) с Унифицированным хранилищем Sun? Что произошло, когда Вы "потеряли" свой SAN? Почему сделал восстановить вещи повреждения процесса? Разве устройство хранения данных не было избыточно?

5
задан 4 June 2014 в 19:53
3 ответа

Я предполагаю, что ваша проблема на самом деле слишком много клиентов Apache для памяти вашего сервера. Когда вы получаете большой всплеск трафика, процессы Apache в конечном итоге используют всю оперативную память. Это вынуждает ОС начать принудительную замену процессов, что, как правило, значительно ухудшает ситуацию. В конце концов ваша память подкачки заканчивается, и ОС убивает все, что считает лучшим ... в данном случае MySQL, поскольку он использует много памяти. Обратите внимание, что увеличение памяти подкачки только отсрочит неизбежный сбой.

Я бы начал с уменьшения MAXCLIENTS Apache до более разумного значения, исходя из возможностей вашего сервера. Вы можете сделать приблизительную оценку, запустив top и просмотрев столбцы RES / SHR для процессов httpd . Разница между ними примерно в том, сколько использует каждый дочерний процесс. Например, на моих серверах среднее использование памяти на ребенка составляет 40 МБ, и я хочу, чтобы Apache использовал только 3 ГБ, поэтому для моего MAXCLIENTS установлено значение 75 (3000/40). Вы можете немного поиграть с этим значением и некоторыми другими настройками подключения Apache по мере необходимости, чтобы Apache не использовал всю оперативную память и не начал использовать своп.

Вы также можете взглянуть на это с точки зрения того, что вызывает большое количество клиентов Apache. Если это реальный всплеск / всплеск трафика, вам, вероятно, понадобится более крупный сервер или больше серверов, или добавить уровень кеширования, чтобы уменьшить нагрузку на Apache. Если ваш сервер просто слишком медленный, чтобы обрабатывать нормальное количество входящих запросов, вам нужно уменьшить MAXCLIENTS Apache до уровня, который он действительно может обрабатывать без резервного копирования запросов. Или, возможно, есть проблема с сервером, приложением или базой данных, которая приводит к зависанию или зависанию вещей, которые необходимо найти и исправить.

1
ответ дан 3 December 2019 в 01:57

У вас почти нет свопов (256M), в качестве временной меры, я бы добавил больше свопов и уменьшил свопы (vm.swappiness), чтобы избежать бесполезного ожидания ввода/вывода. SWAP работает медленно, но он может уберечь вашу PIDS от сбоя. Кроме того, смажьте свои OOM'ы и проверьте временные метки, чтобы посмотреть, есть ли какая-нибудь регулярность со сбоями с течением времени. В свое время мне приходилось прокручивать некоторые плохо сделанные задания по работе с cron. Я бы удостоверился, что у вас есть по крайней мере 2 Гб подкачки, если у вас < 8 Гб оперативной памяти. Как я уже говорил, своп замедлит процесс, но это лучше, чем крах БД и потеря транзакций, а также необходимость проверять/восстанавливать таблицы при запуске.

1
ответ дан 3 December 2019 в 01:57

Казалось бы, логическим завершением было бы увеличение объема памяти.

BTW, вы никогда не упоминали, утешаете ли вы свои сайты с нескольких разных машин на одну или что все сайты работают на старом сервере (сколько памяти). Эта информация была бы ОЧЕНЬ полезной, однако я все еще думаю, что вам просто нужно больше памяти

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

Теги

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