On 06/26/05 02:32 PM, Mikko Tyljrvi sat at the `puter and typed: > On Sun, 26 Jun 2005, Louis LeBlanc wrote: > > > On 06/26/05 10:39 PM, [EMAIL PROTECTED] sat at the `puter and typed: > >> On Sun, 26 Jun 2005 15:17:06 -0400 > >> Louis LeBlanc <[EMAIL PROTECTED]> wrote: > >> > >>> I'm having a little trouble with my perl upgrade from 5.8.6 to 5.8.7. > >> -- cut -- > >>> ok 5 > >>> ok 6 > >>> semget: No space left on device > >> > >> you need to make disc-space, one idea is to run portsclean -C or to make > >> some more space in /usr/home > > > > That would be the obvious cause, but not so: > > [...] > > Indeed. Disk space most likely has nothing to do with it. > > The semget(2) call returns ENOSPC when unable to allocate semaphores, > due to hitting one of the many SYSV IPC limitations. Some things to > look for: > > - You need to have SYSVSEM in your kernel, or "sysvsem.ko" loaded. > > - Check semaphore limits with "ipcs -S" > > - Check current semaphore usage with "ipcs -s" > > - Figure out what limit is being hit and do something about it :-) > > Some of the values can be tweaked at run-time, with > "sysctl kern.ipc.semxxx=value", others have to be set at boot > time (in /boot/loader.conf), or compiled into the kernel.
This certainly does make sense, but I'm not sure I'm actually running
short here. I have SYSVSEM in my kernel (as well as SYSVSHM and
SYSVMSG), and the relevant sysctls are:
kern.ipc.semmap: 30
kern.ipc.semmni: 10
kern.ipc.semmns: 60
kern.ipc.semmnu: 30
kern.ipc.semmsl: 60
kern.ipc.semopm: 100
kern.ipc.semume: 10
kern.ipc.semusz: 92
kern.ipc.semvmx: 32767
kern.ipc.semaem: 16384
<root># ipcs -S
seminfo:
semmap: 30 (# of entries in semaphore map)
semmni: 10 (# of semaphore identifiers)
semmns: 60 (# of semaphores in system)
semmnu: 30 (# of undo structures in system)
semmsl: 60 (max # of semaphores per id)
semopm: 100 (max # of operations per semop call)
semume: 10 (max # of undo entries per process)
semusz: 92 (size in bytes of undo structure)
semvmx: 32767 (semaphore maximum value)
semaem: 16384 (adjust on exit max value)
<root># ipcs -s
Semaphores:
T ID KEY MODE OWNER GROUP
s 65536 5432001 --rw------- pgsql pgsql
s 65537 5432002 --rw------- pgsql pgsql
s 65538 5432003 --rw------- pgsql pgsql
Near as I can tell, this tells me I have at least 60 semaphores
systemwide, 60 per id, 3 in use, none of which are being used by root
(which is who I am running the test as). Shouldn't that leave 57 for
the perl tests? How many does it need to open?
Lou
--
Louis LeBlanc FreeBSD-at-keyslapper-DOT-net
Fully Funded Hobbyist, KeySlapper Extrordinaire :)
Please send off-list email to: leblanc at keyslapper d.t net
Key fingerprint = C5E7 4762 F071 CE3B ED51 4FB8 AF85 A2FE 80C8 D9A2
Coronation, n.:
The ceremony of investing a sovereign with the outward and visible
signs of his divine right to be blown skyhigh with a dynamite bomb.
-- Ambrose Bierce, "The Devil's Dictionary"
pgpH4gP048MAs.pgp
Description: PGP signature
