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";
}
}
}
}