Webserver

ID #1053

No space left on Device, Apache startet nicht mehr

Leider kommt es immer wieder zu Problemen mit den Semaphores auf einem Apache Server.

/etc/sysctl.conf

kernel.msgmni = 1024                                                                                                               
kernel.sem = 250 256000 32 1024 

sysctl -p

Ausserdem habe ich noch ein kleines Script am laufen. Diese Script gibt den benutzten Speicher wieder frei.

Das ganze einfach per Cronjob regelmäßig ausführen.

#!/usr/bin/perl                                                                                                                    
                                                                                                                                   
                                                                                                                                   
 $tmp = ´/usr/bin/ipcs -s´;                                                                                                        
 @tmp = split(/\n/,$tmp);                                                                                                          
                                                                                                                                   
 foreach $tmp (@tmp) {                                                                                                             
         $semid = (split(/ /,$tmp))[1];                                                                                            
         $test = $semid;                                                                                                           
         $test =~ s/[^0-9]{1,}//g;                                                                                                 
         if (($test eq $semid) and $semid) {                                                                                       
                 print "$semid";                                                                                                   
                 $pmt = ´/usr/bin/ipcs -s -i $semid´;                                                                              
                 foreach $line (split(/\n/,$pmt)) {                                                                                
                         $enil = $line;                                                                                            
                         $enil =~ s/[\t ]{1,}/ /g;                                                                                 
                         }                                                                                                         
                 $pid = (split(/ /,$enil))[4];                                                                                     
                 if ($pid) {                                                                                                       
                         print " => \t $pid";                                                                                      
                         if (!-e "/proc/$pid") {                                                                                   
                                 print "\t can be deleted\n";                                                                      
                                 system("/usr/bin/ipcrm sem $semid");                                                              
                                 } else {                                                                                          
                                 print "\t used\n";                                                                                
                                 }                                                                                                 
                         }                                                                                                         
                 }                                                                                                                 
         }

Tags: -

Verwandte Artikel:

Letzte Änderung der FAQ: 2008-03-24 21:27
Autor: Michael Stender
Revision: 1.1

Digg it! Share on Facebook FAQ ausdrucken FAQ weiterempfehlen Als PDF-Datei anzeigen
Übersetzungsvorschlag für Übersetzungsvorschlag für
Bewertung der Nützlichkeit dieser FAQ:

Durchschnittliche Bewertung: 0 (0 Abstimmungen)

vollkommen überflüssig 1 2 3 4 5 sehr wertvoll

Es ist möglich, diese FAQ zu kommentieren.