Не секрет, что правильная настройка параметров ubc в OpenVZ для VPS серверов позволяет не уронить как физическую ноду, так и сам VPS сервер. Как же проверить правильность и согласованность настроек? Очень просто!
Есть прекрасная встроенная утилита vzcfgvalidate.
Чтобы проверить определенный VPS сервер, достаточно запустить такую команду:
vzcfgvalidate /etc/vz/conf/111.conf
где 111 — номер VPS сервера.
Первый анализ вывел вот такие ошибки:
Error: limit should be = 9223372036854775807 for vmguarpages (currently, 2147483647) Error: limit should be = 9223372036854775807 for oomguarpages (currently, 2147483647) Error: limit should be = 9223372036854775807 for physpages (currently, 2147483647) Warning: dcachesize.lim should be > 9215990784 (currently, 2147483646) Error: kmemsize.bar should be > 2154856446 (currently, 2147483646) Error: tcpsndbuf.lim-tcpsndbuf.bar should be > 20479979520 (currently, 396774400-214748160=182026240) Error: othersockbuf.lim-othersockbuf.bar should be > 20479979520 (currently, 396774400-214748160=182026240) Warning: tcprcvbuf.lim-tcprcvbuf.bar should be > 20479979520 (currently, 396774400-214748160=182026240)
Давайте рассмотрим подробнее. Лимиты по памяти нас не интересует, т.к. главный лимит это директива — PRIVVMPAGES. Именно она регулирует расход оперативной памяти. Остальные параметры редко превышают лимиты. Если же все-таки Вы не уверены, то зайдите на сервер и выполните следующую команду:
cat /proc/user_beancounters
Там будет показан расход и лимит ресурсов. Строка failed будет показывать недостаток некоторых значений. Обычно, я вижу перерасход именно privvmpages.
Остальные параметры — это расход трафика и всего с этим связанного. Если у Вас большой расход трафика, то этими директивами не стоит пренебрегать.
В рамках проверки одного сервера, данный инструмент работает хорошо. Но что если у вас несколько физических серверов с большим количеством VPS? На сайте OpenVZ есть скрипт, который проверяет все VPS серверы на ошибки — http://download.openvz.org/contrib/utils/vzvalidate.
Запуск достаточно прост. Скачиваем на сервер и запускаем. Либо создаем файл и копируем туда содержимое ссылки. Запуск — perl название файла.
После запуска будет вывод ошибок с общим результатом:
Low Memory Utilisation: 2.393 (out of 1) Low Memory Commitment: 203.335 (out of 2) Total RAM Memory Utilisation: 0.483 (out of 1) RAM + SWAP Utilization: 0.382 (out of 1) RAM + SWAP Commitment: 6.801 (out of about 0.8 - 1) Allocated Utilization: 0.797 (out of unknown) Allocated Commitment: 6.801 (out of 1) Memory Allocation Limit: 2.629 (out of 1 to 1.5)
В принципе, это все. Главное — следить за лимитами. В любом случае, в Сentos 6 следующая версия OpenVZ ядра уже не использует данные параметры и ubc как таковое.
В Админвпс все настройки VPS сервера сделают за Вас лучшие специалисты техподдержки