phpbar.de logo

Mailinglisten-Archive

[php] PHP-Shared-Memory =?iso-8859-1?Q?l=E4uft?= zu?

[php] PHP-Shared-Memory =?iso-8859-1?Q?l=E4uft?= zu?

Andre Temme temme_(at)_globalpark.de
Mon, 05 Feb 2001 15:18:22 +0100


Andre Temme schrieb:
> 
> Hallo,
> 
> für einen PHP-Chat benutze ich shared-memory zur
> Interprozesskommunikation, lief jetzt auch lange optimal. Plötzlich
> bekomme ich aber die Meldung:
> 
> semget() failed for key 0x3a799372: No space left on device in
> /vol/www/ordner/htdocs/datei.php on line 57

Hi, es ist vollbracht!
Um die Gemeinde nicht im Regen stehen zu lassen hier die Lösung,
vielleicht kann's ja der eine oder die andere gebrauchen:

Nach dem PHP-Handbuch gibt es Einschränkungen des Unix OS wie folgt:

SHMMAX Maximalgröße eines gemeinsamen Speicherbereichs, üblich sind
131072 Byte (128KB)  
SHMMIN Minimalgröße eines gemeinsamen Speicherbereichs, normalerweise 1
Byte  
SHMMNI maximale Anzahl unterschiedlicher Speichersegmente, üblich sind
100  
SHMSEG Anzahl der Speichersegmente, die ein einzelner Prozess einbinden
darf, üblich sind 6  

Die maximale Zahl unterschiedlicher Speichersegmente war überschritten,
daher konnten keine neuen mehr angelegt werden. Dies kam durch eine
unsaubere Garbage-collection meinerseits, das Löschen des
Shared-Memory-Bereichs (shm_remove) passierte in Ausnahmefällen nicht.
Der Admin macht's dann so, ohne _irgendetwas_ neu zu starten (hat er
aber auch länger für gebraucht ;-):

ipcs -t (zeigt die Segmente an)
ipcrm sem id (löscht das Segment (sem) mit der ID)

Jetzt ist wieder Platz, und alles läuft!

Viele Grüße
Andre Temme


php::bar PHP Wiki   -   Listenarchive