On 2018-08-27, Chris Narkiewicz <he...@ezaquarii.com> wrote:
> Hi,
>
> I'm trying to run uwsgi server and I even managed to start it
> successfully... once.
>
> On second time, it aborted:
>
> uwsgi_lock_ipcsem_init()/semget(): No space left on device [core/lock.c 
> line 519]
>
> I checked ipcs (_mc is the user that runs uwsgi)
>
> core# ipcs
> Message Queues:
> T       ID     KEY        MODE       OWNER    GROUP
>
> Shared Memory:
> T       ID     KEY        MODE       OWNER    GROUP
>
> Semaphores:
> T       ID     KEY        MODE       OWNER    GROUP
> s   327680          0 --rw-rw-rw-      _mc      _mc
> s   327681          0 --rw-rw-rw-      _mc      _mc
> s   327682          0 --rw-rw-rw-      _mc      _mc
> s   327683          0 --rw-rw-rw-      _mc      _mc
> s   327684          0 --rw-rw-rw-      _mc      _mc
> s   327685          0 --rw-rw-rw-      _mc      _mc
> s   327686          0 --rw-rw-rw-      _mc      _mc
> s   327687          0 --rw-rw-rw-      _mc      _mc
>
> Ok, the docs say that semaphore limits are pretty low on *BSDs and it
> should be increased.
>
> https://uwsgi-docs.readthedocs.io/en/latest/ThingsToKnow.html
>
> 2 questions then:
>
> 1) Why there are semaphores listed in ipcs if uwsgi is not running?
>     I guess the listed ones were left by my first, successfull run.
>
> 2) How to increase number of allowed semaphores?
>
> Best regards,
> Chris
>
>
For 2) the various parameters are described in sysctl(2) under
kern.seminfo ("man 2 sysctl" - the default for man is sysctl(8)
which is not what you want).

For 1) maybe something went wrong with removing them? ktrace may
give some clues (and maybe building with UWSGI_DEBUG - did
uwsgi_ipcsem_clear actually get called etc.?) AFAIK if the process
doesn't remove them, they will stick around.


Reply via email to