Настройка shared memory

7 июня 2015

Вот такая ошибка может появлятся в логах Zoneminder'а:

WAR [Buffer overrun at index 31, image 902111, slow down capture, speed up analysis or increase ring buffer size]


Для оптимизации работы рекомендуется изменить значения shmmax и shmall в sysctl.conf.

Но какие значения ставить shmmax и shmall? Для этого сделан небольшой скрипт. Его задача – посчитать и вывести размер shared memory, который равен половине доступной на сервере памяти (всей доступной).

#!/bin/bash<br> <code># simple shmsetup script
page_size=`getconf PAGE_SIZE`<br> <code>phys_pages=`getconf _PHYS_PAGES`
shmall=`expr $phys_pages / 2`<br> <code>shmmax=`expr $shmall \* $page_size`
echo kernel.shmmax = $shmmax<br> <code>echo kernel.shmall = $shmall

Например, для сервера с 2Гб RAM скрипт выдаст следующее:

kernel.shmmax = 1055092736
kernel.shmall = 257591

Здесь SHMMAX - максимальный размер (в байтах) на сегменте shared memory, установлен в 1 Гб. SHMALL – общее количество разделяемой памяти (в страницах), какое все процессы на сервере могут использовать. Количество байтов в странице зависит от операционной системы; в, основном, по умолчанию 4096 байт.

Для того, что бы эти данные применились для Linux, выполните данную команду от root (./shmsetup – данный скрипт):

./shmsetup >> /etc/sysctl.conf

И проверьте правильность:

sysctl -p

ЗЫ. Также не забываем про семафоры в системе:

$ ipcs -l<br> <code>…
—— Пределы семафоров ——–<br> <code>максимальное количество массивов = 128
максимум семафоров на массив = 250<br> <code>максимум семафоров на всю систему = 32000
максимум операций на вызов семафора = 32<br> <code>максимальное значение семафора = 32767

Значения в sysctl:

$ sysctl kernel.sem<br> <code>kernel.sem = 250 32000 32 128

Все четыре значения, возможно, потребуется увеличить на системах с большим число процессов.


После установки и настройки Zoneminder'а сервер был загружен на 70-80%, а во время создания avi-файлов на все 100%. После изменения параметров shmmax и shmall нагрузка в нормальном режиме стала около 35%, а во время склейки изображений в avi ~80%.


Источник: http://wiki.ayac.ru/skripty/nastrojka-shared-memory

Написать комментарий

Адрес и телефон
E-mail: rs@corp2.net Skype: rudjuk
г. Киев, ул. Белорусская 30, офис. К2Р (схема проезда)
Мы в сети
Меню
www.megastock.ru Здесь находится аттестат нашего WM идентификатора 000000000000
Проверить аттестат
Наверх