:!: Cron startet die Confixx-Prozesse minütlich. Aufgrund der Systemüberlast wird ein solcher Confixx-Prozess nicht innerhalb einer Minute fertig und sie stauen sich auf. Zum Typ der Ã?berlast: wie einen Beitrag weiter oben gesehen ist kein Speicher mehr frei, er wird wild herum geswappt, die vielen Plattenzugriffe verzögern alles.AS-N wrote:Noch paar Infos direkt wäredn eines Hängers:Code: Select all
init-+-agetty |-amavisd---2*[amavisd] |-bdflush |-cron-+-22*[cron---confixx_counter] [...] |-httpd2-prefork-+-110*[httpd2-prefork] | |-httpd2-prefork---sh---modprobe | `-pipelog.pl [...] |-mysqld_safe---mysqld---mysqld---9*[mysqld] [...]
Auf Amavis, Mysql, Apache2 kannst du nicht verzichten, OK. Die Mysql-Prozesse werden wegen der großen Queries so groß. Entweder kannst du da bei den Queries oder den Tabellen etwas optimieren. Ein Mysql-Neustart hilft nur für kurze Zeit.AS-N wrote:Code: Select all
[...] amavis 595 0.0 0.1 44604 532 ? D 21:56 0:02 amavisd (master) 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/h9284.pid mysql 685 0.0 0.1 106008 892 ? S 21:56 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/h mysql 723 0.0 0.1 106008 900 ? S 21:56 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/h mysql 724 0.0 0.1 106008 900 ? S 21:56 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/h [...] wwwrun 11289 0.4 0.1 21884 936 ? D 22:17 0:07 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL wwwrun 12414 0.9 6.1 66752 31464 ? D 22:19 0:14 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL wwwrun 13276 1.2 8.7 82288 45000 ? D 22:20 0:17 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL amavis 13795 0.4 0.0 45924 20 ? S 22:20 0:06 amavisd (ch2-avail) wwwrun 14312 1.1 10.0 90184 51492 ? D 22:21 0:16 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL wwwrun 14359 0.1 0.2 22044 1056 ? D 22:21 0:02 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL amavis 14929 0.0 0.0 44604 64 ? S 22:22 0:00 amavisd (virgin child) wwwrun 15340 1.1 9.2 84652 47620 ? D 22:24 0:14 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL wwwrun 15438 0.1 0.1 21700 692 ? D 22:24 0:02 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL [...]
Die Apache-Prozesse haben einen sehr unterschiedlichen Speicherverbrauch. Das wird an den verschiedenen Skripten/Daten liegen, die bei den Requests ablaufen. Leider gibt der Apache-Prozess den einmal angeforderten Speicher nicht mehr frei. Wenn dann viele Requests kommen, staut sich das dann wieder auf. Hier sollte helfen, die maximale Anzahl der Requests pro Apache-Child herunter zu setzen. Als letztes Mittel die maximale Anzahl der Apache-Childs weiter beschränken.
Weitere Möglichkeit wäre, die Dienste für Mail, DB und WWW auf verschiedene Server zu verteilen :)