Страница 1 из 1

python uwsgi semget(): No space left on device

Добавлено: 2012-04-11 14:15:16
Saytik
Здравствуйте.

по наследству достались несколько серверов под мое управление. на двух серверах FreeBSD 7 и FreeBSD 8 одна и та же проблема.
Создаю virtualenv окружение питона. В нем пытаюсь запустить как обычно

Код: Выделить всё

uwsgi -x xonfig.xml
не запускатеся в логах uwsgi:
semget(): No space left on device [lock.c line 328]
semctl(): Invalid argument [lock.c line 407]
в чем может быть проблема ?
уже перегулил много, установил в sysctl:

Код: Выделить всё

 kern.ipc.shmall=262144
 kern.ipc.shmmax=536870912
kern.ipc.semmap=256

 ipcs -s
Semaphores:
T           ID          KEY MODE        OWNER    GROUP
s       262144      5432001 --rw-------    pgsql    pgsql
s       262145      5432002 --rw-------    pgsql    pgsql
s       262146      5432003 --rw-------    pgsql    pgsql
семафоры не забиты, и пробовал чистить то что там есть ...
Самое интересное, что другие виртуальные окружения, созданные до этого без проблем останавливается uwsgi и запускается снова.

подскажите в какую сторону копать, пожалуйста ?

Re: python uwsgi semget(): No space left on device

Добавлено: 2012-04-11 14:33:46
Saytik
может ли это быть из-за того что я установил высокий параметр kern.ipc.shmmax ?

Код: Выделить всё

kern.ipc.shmmax: 536870912

Re: python uwsgi semget(): No space left on device

Добавлено: 2012-04-16 15:30:09
Saytik
проблема все еще актуальна, за правильную подсказку перекину 5WMZ, подскажите куда копать то ? :smile:
с местом и айнодами проблем нет на сервере ...

Re: python uwsgi semget(): No space left on device

Добавлено: 2012-05-05 11:14:11
dmitry.tsatsarin
Ну как, проблемку решил? Очень интересует

Re: python uwsgi semget(): No space left on device

Добавлено: 2012-05-05 21:29:49
Gendos

Код: Выделить всё

cat /boot/loader.conf
cat /etc/sysctl.conf

Re: python uwsgi semget(): No space left on device

Добавлено: 2012-05-15 8:02:58
prevnew
Была такая ошибка с версией 1.2, откатился до 1.0.5, стал работать нормально.

[SOLVED] python uwsgi semget(): No space left on device

Добавлено: 2012-11-09 13:30:18
nwton
FreeBSD 8 + uwsgi 1.2.4

Была аналогичная проблема, после апгрейда с предыдущей версии uwsgi, только у меня запускалось 2 процесса (основной и тестовый) - с использованием profiles.

Смотрим результаты команд:

Код: Выделить всё

 ipcs -T
 ipcs -a (или ipcs -s)
 sysctl kern.ipc | grep ipc.s
По умолчанию kern.ipc.semmni равно 10, а uwsgi занимает 8 семафоров.

Проблема решается так (часть параметров еще увеличил на всякий случай):

Код: Выделить всё

cat >> /boot/loader.conf
# Number of semaphore identifiers
kern.ipc.semmni=64
# Maximum number of semaphores in the system
kern.ipc.semmns=128
# Maximum number of undo structures in the system
kern.ipc.semmnu=128

Re: python uwsgi semget(): No space left on device

Добавлено: 2012-11-09 13:36:08
nwton
Да, еще маленький совет про uwsgi 1.2.4

Если делать /usr/local/etc/rc.d/uwsgi reload , то семафоры не освобождаются (в старой версии все было ОК).
Нужно делать /usr/local/etc/rc.d/uwsgi restart.

А если семафоры уже забились, то чистить примерно так:

Код: Выделить всё

for i in `ipcs -s | awk '{print $2}'`; do ipcrm -s $i;done