OpenSolaris, OpenIndiana, Nexenta > OpenSolaris
Функция shmget возвращает ошибку "No space left on device"
(1/1)
keremet:
Проверяем ограничение на количество сегментов разделяемой памяти
--- Код: ---prctl -n project.max-shm-ids -i process $$
process: 1566: bash
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-ids
privileged 128 - deny -
system 16,8M max deny
--- Конец кода ---
-
В моем случае как раз такое превышение - ошибка возникла при добавлении 129-го сегмента. 131 - 3 = 128. 3 - вспомогательные строки
--- Код: ---$ ipcs -m|wc -l
131
--- Конец кода ---
Через prstat -J определяем, что текущий проект называется group.staff
Увеличиваем данный лимит этого проекта
--- Код: ---sudo projmod -K project.max-shm-ids="(priv,1024,deny)" group.staff
--- Конец кода ---
После перелогина изменение будет применено
Аналогично - по семафорам
--- Код: ---$ prctl -n project.max-sem-ids -i process $$
process: 1560: bash
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-sem-ids
privileged 128 - deny -
system 16,8M max deny -
$ ipcs -s|wc -l
131
--- Конец кода ---
Чтобы предыдущая настройка проекта не затерлась, добавляем параметр -a
--- Код: ---sudo projmod -a -K project.max-sem-ids="(priv,1024,deny)" group.staff
--- Конец кода ---
Проверка настроек проекта: cat /etc/project
Навигация
Перейти к полной версии