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

Навигация

[0] Главная страница сообщений

Перейти к полной версии