Mailinglisten-Archive |
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