ticar
Goto Top

Auslastung Webserver (debian)

Hallo allerseits,

da ich meine beiden Server etwas besser kennenlernen möchte, versuch ich mich zu dem Thema etwas schlau zu machen, unteranderem hoffe ich da etwas auf eure Hilfe.

Ich hab z.b. über das tool 'top' gesehen, das meine CPU vom Server auf ~30.9% läuft, was ich ziemlich hoch finde. Der 2. Server z.b. auf ~3%. Komischerweise ändert sich die CPU AUslastung aber nicht sondern bleibt ziemlich konstant. Hätte eigentlich erwartet, dass diese mal auf 80% hoch geht, aber auch wieder fällt. Vorallem, weil, wenn ich mal die Werte der Spalte %CPU so grob überschlage ich oft auf weit unter 30% Auslastung komme. Dies macht mich etwas stutzig. Vll. kann ja jemand erfahreneres dazu was sagen?

Des weiteren brummt der Speicher an der maximalen Auslastung. Physikalischer Speicher ist 512MB, used ~440MB natürlich schwankend. Wenn ich allerdings die Prozessliste anschaue, dann komme ich bei weitem nicht auf diese Werte, was mich wiederrum verwundert.

Gibt es vll. noch andere Tools die mich etwas mehr über mein System in Kenntnis setzen?

Ich danke schonmal für eure Hilfen.

Content-Key: 70855

Url: https://administrator.de/contentid/70855

Printed on: April 19, 2024 at 07:04 o'clock

Member: gnarff
gnarff Oct 13, 2007 at 14:25:49 (UTC)
Goto Top
Hallo Ticar!

Wie kann es sein, dass der Speicher brummt, das ist technisch überhaupt nicht möglich -ein Arbeitsspeicherriegel kann nicht brummen.
Vielleicht meintest Du die Festplatte; wenn die Festplatte unter Höchstlast brummt, dann kann das zwei Ursachen haben:
1. Sie ist dabei sich wegen eines technischen Mangels zu verabschieden
2. Die Festplatte wurde unsachgemäß in dem Laufwerksschacht eingebaut. Dadurch enstehen bei dem Betrieb Unwuchten, die sich beim Betrieb in Vibrationen am Rechnergestell aeussern.
Eine Festplatte die mit 7200rpm läuft bekommt so 7200 Schlaege pro Minute am Rechnergestell verabfolgt und wird dadurch langsam aber sicher zerstört. Eine Festplatte wird ordnungsgemäß mit 4 Schrauben im Laufwerksschacht befestigt, zwei auf jeder Seite. Eventuelle Passungenauigkeiten kann man mit Unterlegscheibchen aus Hartgummi ausgleichen.

Die Frage allerdings ist, wer oder was veranlasst die Festplatte ständig unter Höchstlast zu laufen?

Der Konsolenbefehl top zeigt Dir nicht die CPU-Auslastung im Allgemeinen an, sondern die Aktivitaeten, die am meisten Ressourcen verbrauchen, die Prozessorauslastung wird mit uptime ausgelesen.
Prozessinformationen liest man mit ps ax aus.


saludos
gnarff
Member: TiCar
TiCar Oct 13, 2007 at 14:45:55 (UTC)
Goto Top
Hi *lol*

mit dem Satz 'der Speicher brummt an der max. Auslastung' meinte ich das er voll ausgelastet ist natürlich nicht das er brummt *LOL* wenn das so laut wäre, dass ich das von Düsseldorf bis Stuttgart höre, wäre das ein neuer Rekord, ganz zu schweigen, dass wie du ja unschwer richtig bemerkst, ein Speicherbaustein nicht brummen kann *grins*

Sorry, muss mir das bildlich vorstellen und konnte mir das grinsen dabei nicht verkneifen (nicht böse gemeint).

Werd mal deine Tips bzgl. der Befehle ps ax und uptime testen.

bei Top bekomme ich folgende Anzeige (der obere Teil)


top - 16:43:58 up 1 day, 14:44, 1 user, load average: 0.68, 0.74, 0.67
Tasks: 66 total, 3 running, 63 sleeping, 0 stopped, 0 zombie
Cpu0 : 31.5% user, 2.4% system, 0.0% nice, 66.1% idle
Mem: 513368k total, 383748k used, 129620k free, 10088k buffers
Swap: 1003960k total, 8128k used, 995832k free, 189564k cached
...
*

Dachte das wäre die CPU Auslastung in Zeile 3 *grübel*
Member: gnarff
gnarff Oct 13, 2007 at 14:58:51 (UTC)
Goto Top

mit dem Satz 'der Speicher brummt an
der max. Auslastung' meinte ich das er
voll ausgelastet ist natürlich nicht das
er brummt *LOL* wenn das so laut wäre,
dass ich das von Düsseldorf bis
Stuttgart höre, wäre das ein neuer
Rekord, ganz zu schweigen, dass wie du ja
unschwer richtig bemerkst, ein
Speicherbaustein nicht brummen kann *grins*

Dann hättest Du das Wort brummt einfach mal in Anführungszeichen einbetten sollen, um dem entsetzen Leser so zu signalisieren, dass diese Aussage bildlich gemeint war...

Tasks: 66 total, 3 running, 63 sleeping,
0 stopped, 0 zombie
Cpu0 : 31.5% user, 2.4% system, 0.0%
nice, 66.1% idle

Es gibt 66 Tasks, von diesen sind 3 aktiv und 63 idle.
Die Gesamt-CPU Auslastung verteilt sich auf 31,5 % durch Benutzeraktivitäten, 2,4 % werden vom Betriebssystem in Anspruch genommen, 66,1% entfallen auf idle...

Freue mich, dass ich zu Deiner Erheiterung beitragen konnte...

saludos
gnarff
Member: TiCar
TiCar Oct 13, 2007 at 15:10:31 (UTC)
Goto Top
Hi,

ich hoffe du bist jetzt nicht sauer, war wie gesagt nicht böse gemeint und mir war nicht bewußt, dass ich das 'brummen' noch in Anführungszeichen setzen muss, da es meiner Meinung nach aus dem Satz ja auch rauszulesen ist (hab ja nicht geschrieben, der Speicher brummt, und ist an der maximalen Auslastung, sondern ... aber ist ja auch egal, muss man ja jetzt nicht vertiefen und versuch nächstes Mal besser auf meine Ausdrucksweise zu achten ;)

Könntest du mir noch eine Hilfestellung geben, was es bedeutet wenn die 31,5% auf Benutzeraktivitäten fallen? Was sind z.b. Benutzeraktivitäten, denn es sind ja bis auf meine ssh Anmeldung keine Benutzer an dem Rechner angemeldet.

Aus meiner Sicht sind Benutzeraktivitäten z.b. mysqld, apache-ssl, ... oder? In dem Fall wundert mich das Ergenis, da die Liste drunter niemals diesen 31,5% entspricht.
Member: gnarff
gnarff Oct 13, 2007 at 15:19:48 (UTC)
Goto Top
Keine Angst, bin nicht sauer...

Ich kann dir keine weitere Hilfestellung geben, wenn du mir nicht die Ergebnisse von uptime und ps ax übermittelst.
Uebrigends habe ich oben Unfug geschrieben, ich werde das sogleich verbessern.
top zeigt nicht den Prozess an, der am meisten verbraucht, sondern die Aktivitaeten, die die meisten Ressourcen verbrauchen - bitte um Entschuldigung, habe noch nicht gefrühstückt...

saludos
gnarff
Member: TiCar
TiCar Oct 16, 2007 at 10:56:53 (UTC)
Goto Top
Hi,

hier die weiteren Daten:
uptime: 12:54:49 up 4 days, 10:55, 1 user, load average: 0.66, 1.08, 1.04
ps ax:
1 ? S 0:17 init [2]
2 ? S 0:00 [keventd]
3 ? SN 0:00 [ksoftirqd_CPU0]
4 ? S 0:50 [kswapd]
5 ? S 0:00 [bdflush]
6 ? S 0:08 [kupdated]
10 ? S< 0:00 [mdrecoveryd]
11 ? S< 0:00 [raid1d]
12 ? S< 0:00 [raid1d]
13 ? S< 0:00 [raid1d]
14 ? S< 0:00 [raid1d]
15 ? S 0:31 [kjournald]
262 ? S 0:28 [kjournald]
263 ? S 0:02 [loop0]
589 ? Ss 0:11 /sbin/syslogd
595 ? Ss 0:00 /sbin/klogd -x
614 ? Ss 0:00 /usr/sbin/inetd
858 ? Ss 0:04 /usr/lib/postfix/master
866 ? S 0:02 qmgr -l -t fifo -u -c
881 ? Ss 0:06 /usr/sbin/sshd
951 ? Ss 0:02 /sbin/mdadm --monitor --pid-file /var/run/mdadm.pid --
976 ? Ss 0:04 proftpd: (accepting connections)
987 ? Ss 0:00 /usr/sbin/cron
1004 ? S 0:26 /usr/sbin/apache-ssl
1010 ? S 0:00 /usr/lib/apache-ssl/gcache 33 /var/run/gcache_port
1032 ttyS0 Ss+ 0:00 /sbin/getty -L ttyS0 9600 vt100
1145 ? Ss 0:05 /usr/bin/perl /usr/share/webmin-1.290/miniserv.pl /etc
27413 ? S 0:29 /usr/sbin/apache-ssl
27550 ? S 0:41 /usr/sbin/apache-ssl
29256 ? S 0:30 /usr/sbin/apache-ssl
30805 ? S 0:00 /usr/sbin/apache-ssl
30808 ? S 0:00 /usr/sbin/apache-ssl
30947 ? S 0:00 /usr/sbin/apache-ssl
30981 ? S 0:00 /usr/sbin/apache-ssl
30995 ? S 0:00 /usr/sbin/apache-ssl
30998 ? S 0:00 /usr/sbin/apache-ssl
2185 ? S 0:16 /usr/sbin/apache-ssl
25961 ? Ss 0:01 sshd: root@pts/0
25972 pts/0 Ss 0:00 -bash
26686 ? S 0:00 /bin/sh /usr/bin/mysqld_safe
26747 ? S 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mys
26748 ? S 0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
26749 ? S 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mys
26750 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mys
26751 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mys
26752 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mys
26753 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mys
26755 ? S 0:02 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mys
26756 ? S 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mys
26757 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mys
26758 ? S 0:03 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mys
1962 ? Z 1:02 [apache-ssl] <defunct>
2730 ? S 0:33 /usr/sbin/apache-ssl
4634 ? R 0:51 /usr/sbin/apache-ssl
6109 ? S 0:23 /usr/sbin/apache-ssl
6324 ? S 0:57 /usr/sbin/apache-ssl
6476 ? S 0:16 /usr/sbin/apache-ssl
7008 ? S 0:00 pickup -l -t fifo -u -c
7237 ? S 0:08 /usr/sbin/apache-ssl
7238 ? S 0:07 /usr/sbin/apache-ssl
7359 ? S 0:08 /usr/sbin/apache-ssl
7361 ? S 0:29 /usr/sbin/apache-ssl
7667 ? S 0:27 /usr/sbin/apache-ssl
7987 ? S 0:05 /usr/sbin/apache-ssl
8014 ? S 0:23 /usr/sbin/apache-ssl
8045 ? S 0:00 trivial-rewrite -n rewrite -t unix -u -c
8327 ? S 0:02 /usr/sbin/apache-ssl
8344 ? S 0:04 /usr/sbin/apache-ssl
8520 ? S 0:00 /usr/sbin/apache-ssl
8521 ? S 0:00 /usr/sbin/apache-ssl
8522 ? S 0:00 /usr/sbin/apache-ssl
8527 ? S 0:00 /usr/sbin/apache-ssl
8596 ? S 0:00 cleanup -z -t unix -u -c
8597 ? S 0:00 smtp -t unix -u -c
8613 ? S 0:00 /usr/sbin/apache-ssl
8615 ? S 0:00 /usr/sbin/apache-ssl
8620 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mys
8621 pts/0 R+ 0:00 ps ax


Danke dir schonmal für deine Bemühungen face-smile
Member: gnarff
gnarff Oct 18, 2007 at 13:49:11 (UTC)
Goto Top
Hallo TiCar!

Sorry, das ich erst jetzt dazu gekommen bin Dir zu antworten:

5961 ? Ss 0:01 sshd: root@pts/0
25972 pts/0 Ss 0:00 -bash

Wenn das Du bist, dann ist alles ok...

26748 ? S 0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld

Einen neugierigen Blick in das betreffende Logfile werfen..

1962 ? Z 1:02 [apache-ssl] <defunct>

Dies ist ein korrupter Prozess...
Siehe How to kill defunct process

Mehr faellt mir da nicht auf.

saludos
gnarff
Member: TiCar
TiCar Oct 18, 2007 at 14:09:37 (UTC)
Goto Top
Hi,

danke für deine Bemühungen, werde mich weiter darum kümmern. Wie ich feststellen musste, hat eine defekte mySQL Spiegelung dazu geführt, dass immer wieder Festplattenzugriffe stattfanden, die wiederum ein kurzzeitigen Ausfall der DB verursachten. Über diese Ursache bin ich überhaupt auf die Auslastung des Servers gekommen.

Der Rootzugriff per ssh bin tatsächlich ich (sitz ja nicht im Rechenzetrum, sondern greif über das Internet darauf zu.
Member: TiCar
TiCar Oct 19, 2007 at 20:39:46 (UTC)
Goto Top
Hi,

ich nochmal. Hatte heute wieder ein stehenden Server. Konnte mich wieder nur mit sehr langen Wartezeiten per ssh auf dem Server einloggen (zum glück überhaupt).

Nachdem ich dann den apache-ssl Prozess mit killall apache-ssl gestoppt hatte (apache stop/restart, bzw. apache-ssl stop ging nicht), lief der Server wieder anständig. Danach natürlich den Prozess wieder gestartet (apache start)

Über ps aux zähle ich momentan allerdings 22 mysqld Prozesse *grübel* ist das normal? Finde ich etwas arg viel, da nur 13 Datenbanken angelegt sind wovon aber effektiv nur 2 maximal 3 mehr oder weniger intesiv genutzt werden (eine halt ganz besonders -> phpbb Forum).
Member: gnarff
gnarff Oct 19, 2007 at 20:42:26 (UTC)
Goto Top
Kannst Du die Benutzer dieser Prozesse ermitteln?
Gib mir nochmal ps ax...

saludos
gnarff
Member: TiCar
TiCar Oct 19, 2007 at 20:48:46 (UTC)
Goto Top
ist mir dummerweise erst danach gekommen *grumel* wenn er nächstes Mal wieder in diese Situation reinläuft versuch ich dies mal mit ps ax, bzw. ps aux zu ermitteln.
Member: gnarff
gnarff Oct 19, 2007 at 21:24:59 (UTC)
Goto Top
Check doch mal zusätzlich die mysql-logs, ich habe den Eindruck, das kommt von innen...
saludos
gnarff
Member: TiCar
TiCar Oct 19, 2007 at 21:44:00 (UTC)
Goto Top
da bin ich mir sogar sicher. die mysql logs such ich leider noch ... nichts zu finden bisher face-sad

Ok, wenn in der my.cnf nix aktiviert ist, dann wird natürlich auch keins geschrieben *duck* (gerade nochmal geschaut und gefunden). D.h. er schreibt jetzt ein Log mit, nur leider ohne Datum face-sad Kann man das in der my.cnf auch einstellen, weil ihne das macht das rel wenig Sinn meiner Meinung nach ...
Member: TiCar
TiCar Oct 21, 2007 at 10:19:36 (UTC)
Goto Top
Hallo gnarff,

so gerade eben war es wieder soweit und der Server stand wieder, bzw. war EXTREM langsam. Hier ein Auszug aus dem Befehl ps ax:

[root@web:~]# ps ax
PID TTY STAT TIME COMMAND
1 ? S 0:20 init [2]
2 ? S 0:00 [keventd]
3 ? SN 0:00 [ksoftirqd_CPU0]
4 ? S 1:20 [kswapd]
5 ? S 0:00 [bdflush]
6 ? S 0:18 [kupdated]
10 ? S< 0:00 [mdrecoveryd]
11 ? S< 0:00 [raid1d]
12 ? S< 0:00 [raid1d]
13 ? S< 0:00 [raid1d]
14 ? S< 0:00 [raid1d]
15 ? S 0:54 [kjournald]
262 ? S 0:58 [kjournald]
263 ? S 0:05 [loop0]
589 ? Ss 0:20 /sbin/syslogd
595 ? Ss 0:00 /sbin/klogd -x
614 ? Ss 0:00 /usr/sbin/inetd
858 ? Ss 0:10 /usr/lib/postfix/master
866 ? S 0:04 qmgr -l -t fifo -u -c
881 ? Ss 0:10 /usr/sbin/sshd
951 ? Ss 0:05 /sbin/mdadm --monitor --pid-file /var/run/mdadm.pid --mail root --daemonise --scan
976 ? Ss 0:09 proftpd: (accepting connections)
987 ? Ss 0:00 /usr/sbin/cron
1032 ttyS0 Ss+ 0:00 /sbin/getty -L ttyS0 9600 vt100
1145 ? Ss 0:11 /usr/bin/perl /usr/share/webmin-1.290/miniserv.pl /etc/webmin/miniserv.conf
3086 ? S 0:08 apache start
4773 ? S 0:00 /usr/lib/apache-ssl/gcache 33 /var/run/gcache_port
11359 ? S 0:00 /bin/sh /usr/bin/mysqld_safe
11420 ? S 0:05 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
11421 ? S 0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
11422 ? S 0:06 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
11423 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
11424 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
11425 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
11426 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
11428 ? S 0:24 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
11429 ? S 0:16 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
11430 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
11431 ? S 0:26 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
18821 ? D 0:51 apache start
19671 ? D 0:34 apache start
19867 ? D 0:42 apache start
20958 ? D 0:22 apache start
21222 ? D 0:15 apache start
21647 ? D 0:09 apache start
21678 ? D 0:07 apache start
21792 ? D 0:08 apache start
21899 ? D 0:12 apache start
21952 ? D 0:07 apache start
22070 ? D 0:05 apache start
22078 ? D 0:06 apache start
22240 ? D 0:07 apache start
22444 ? D 0:05 apache start
22446 ? D 0:03 apache start
22447 ? D 0:04 apache start
22450 ? D 0:22 apache start
22485 ? D 0:03 apache start
22487 ? D 0:02 apache start
22488 ? D 0:02 apache start
22491 ? D 0:04 apache start
22561 ? D 0:04 apache start
22563 ? D 0:05 apache start
22564 ? D 0:03 apache start
22617 ? S 0:00 pickup -l -t fifo -u -c
22633 ? D 0:01 apache start
22635 ? D 0:03 apache start
22805 ? D 0:03 apache start
22823 ? D 0:01 apache start
22852 ? D 0:00 apache start
22861 ? D 0:00 apache start
22862 ? D 0:00 apache start
22868 ? D 0:01 apache start
22871 ? D 0:00 apache start
22874 ? S 0:03 apache start
22879 ? D 0:01 apache start
22881 ? D 0:01 apache start
22934 ? D 0:01 apache start
22936 ? D 0:00 apache start
22937 ? D 0:00 apache start
22941 ? D 0:00 apache start
22942 ? D 0:00 apache start
22948 ? D 0:00 apache start
22949 ? D 0:00 apache start
22951 ? D 0:00 apache start
22967 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
22973 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
22991 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
22994 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
22997 ? D 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
22998 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23003 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23007 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23008 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23009 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23013 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23015 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23016 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23017 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23018 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23022 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23024 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23030 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23032 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23036 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23038 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23051 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23052 ? D 0:00 apache start
23053 ? D 0:00 apache start
23054 ? D 0:00 apache start
23056 ? D 0:00 apache start
23058 ? S 0:00 apache start
23059 ? D 0:00 apache start
23062 ? D 0:00 apache start
23063 ? D 0:00 apache start
23064 ? D 0:00 apache start
23065 ? D 0:00 apache start
23066 ? D 0:00 apache start
23067 ? D 0:00 apache start
23070 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23072 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23075 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23077 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23079 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23080 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23084 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23085 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23086 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23087 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23088 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23089 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23090 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23091 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23092 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23093 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23094 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23095 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23096 ? D 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23097 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23098 ? D 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23099 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23100 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23101 ? D 0:00 apache start
23102 ? S 0:00 apache start
23103 ? D 0:00 apache start
23104 ? D 0:00 apache start
23105 ? D 0:00 apache start
23106 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23107 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23108 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23109 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23110 ? D 0:00 apache start
23111 ? D 0:00 apache start
23112 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23113 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23114 ? D 0:00 apache start
23115 ? D 0:00 apache start
23116 ? D 0:00 apache start
23117 ? D 0:00 apache start
23118 ? D 0:00 apache start
23119 ? S 0:00 apache start
23120 ? D 0:00 apache start
23121 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23122 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23123 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23125 ? S 0:00 apache start
23126 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23127 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23128 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23129 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23130 ? S 0:00 apache start
23131 ? S 0:00 apache start
23132 ? S 0:00 apache start
23133 ? S 0:00 apache start
23134 ? S 0:00 apache start
23135 ? S 0:00 apache start
23136 ? S 0:00 apache start
23137 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23138 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23139 ? S 0:00 apache start
23140 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23141 ? S 0:00 apache start
23142 ? S 0:00 apache start
23143 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23144 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23145 ? S 0:00 apache start
23146 ? S 0:00 apache start
23147 ? S 0:00 apache start
23148 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23149 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23150 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23151 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23153 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23154 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23155 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23156 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23157 ? S 0:00 apache start
23158 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23159 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23160 ? S 0:00 apache start
23161 ? S 0:00 apache start
23162 ? S 0:00 apache start
23163 ? S 0:00 apache start
23164 ? S 0:00 apache start
23165 ? S 0:00 apache start
23166 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23167 ? Ss 0:00 sshd: root@pts/0
23168 ? S 0:00 apache start
23169 ? S 0:00 apache start
23170 ? S 0:00 apache start
23171 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23172 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23173 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23174 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23175 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23176 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23177 ? S 0:00 apache start
23178 ? S 0:00 apache start
23179 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23180 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23181 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23182 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23183 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23184 ? S 0:00 apache start
23185 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23186 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23187 ? S 0:00 apache start
23188 ? S 0:00 apache start
23189 ? S 0:00 apache start
23190 ? S 0:00 apache start
23191 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23192 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23193 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23196 ? D 0:00 apache start
23197 ? S 0:00 apache start
23198 ? S 0:00 apache start
23199 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23200 ? S 0:00 apache start
23201 ? S 0:00 apache start
23202 ? S 0:00 apache start
23203 ? S 0:00 apache start
23204 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23206 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23208 ? S 0:00 apache start
23209 ? S 0:00 apache start
23210 ? S 0:00 apache start
23211 ? S 0:00 apache start
23212 ? S 0:00 apache start
23213 ? S 0:00 apache start
23214 ? S 0:00 apache start
23215 ? S 0:00 apache start
23216 ? S 0:00 apache start
23217 ? S 0:00 apache start
23218 ? S 0:00 apache start
23219 ? S 0:00 apache start
23220 ? S 0:00 apache start
23221 ? S 0:00 apache start
23222 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23223 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23224 ? D 0:00 apache start
23228 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23229 pts/0 Ss 0:00 -bash
23230 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23232 ? S 0:00 apache start
23238 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23239 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23242 ? D 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23243 ? S 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var
23251 pts/0 R+ 0:00 ps ax

**

Nachdem ich dann wieder killall apache ausgeführt habe, lief er wieder normal. Danach dann /etc/init.d/apache-ssl ausgeführt und es lief wieder ...

Aus dem Log von 12:06 - 12:09 (die Zeit wo er Stand) werde ich nicht schlau. Im access.log steht gar nichts. im error.log steht:
[error] child process 23232 still did not exit, sending a SIGKILL

In dem access/error.log der webs steht auch nichts brauchbares, da ist halte ine Pause in dem Zeitraum.

Gibts eine Möglichkeit bei einem hängenden Apache, das dieser sich automatisch killt und wieder neu startet? Bzw. wenn ich das error Protokoll richtig lese versucht er dies ja glaub sogar nur schafft es nicht face-sad
Member: gnarff
gnarff Oct 21, 2007 at 15:05:21 (UTC)
Goto Top
Hast Du da irgendwas in Python auf dem Server?
Versuche es doch mal mit der GracefulShutdownTimeout Directive um den widerborstigen Prozess zu beenden.
Ich schaue mir nach dem Fruehstueck mal die Ausgabe an...

Wir wollen wissen, wer child process 23232 verursacht.

Kann ich bitte mal die httpd.conf sehen?
Gib mir top -c und Isof -p 23232, sowie netstat -pan | grep 23232

saludos
gnarff
Member: TiCar
TiCar Oct 21, 2007 at 15:35:29 (UTC)
Goto Top
Hi,

das mit Python kann ich dir leider nicht beantworten, da der Server nicht von mir konfiguriert ist, sondern vom Provider so vorkonfiguriert wurde. Laut phpinfo() kommt jedenfalls nix mit python.

Hier der Zusammenschnitt (Kommentare rausgeschmissen damit es kürzer wird), der httpd.conf:

ServerType standalone
ServerRoot /etc/apache-ssl
LockFile /var/lock/apache-ssl.lock
PidFile /var/run/apache-ssl.pid
ScoreBoardFile /var/run/apache-ssl.scoreboard
TimeOut 300
KeepAlive on
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
MaxSpareServers 10
StartServers 5
MaxClients 150
MaxRequestsPerChild 100
Listen 81.209.146.68:80
Listen 81.209.146.68:443
Listen 81.209.146.57:80
Include /etc/apache-ssl/modules.conf

<IfModule mod_status.c>
ExtendedStatus On
</IfModule>

Port 80
User www-data
Group www-data
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot /var/www

<Directory />
Options SymLinksIfOwnerMatch
AllowOverride None
</Directory>

<Directory /var/www/>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<IfModule mod_userdir.c>
UserDir public_html
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Order deny,allow
Deny from all
</Limit>
</Directory>
</IfModule>

<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.shtml index.cgi index.php
</IfModule>

AccessFileName .htaccess

<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>

UseCanonicalName Off
TypesConfig /etc/mime.types
DefaultType text/plain

<IfModule mod_mime_magic.c>
MIMEMagicFile /usr/share/misc/file/magic.mime
</IfModule>

HostnameLookups Off
ErrorLog /var/log/apache-ssl/error.log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{forensic-id}n\" %T %v" full
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{forensic-id}n\" %P %T" debug
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{forensic-id}n\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{forensic-id}n\"" forensic
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /var/log/apache-ssl/access.log combined

<IfModule mod_log_forensic.c>
ForensicLog /var/log/apache-ssl/forensic.log
</IfModule>
<IfModule mod_backtrace.c>
EnableExceptionHook On
</IfModule>

<IfModule mod_whatkilledus.c>
EnableExceptionHook On
</IfModule>

ServerSignature On

<IfModule mod_alias.c>
Alias /icons/ /usr/share/apache/icons/

<Directory /usr/share/apache/icons>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Alias /image/ /usr/share/images/

<Directory /usr/share/images>
Options MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</IfModule>

<IfModule mod_alias.c>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory /usr/lib/cgi-bin/>
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
</IfModule>

<IfModule mod_autoindex.c>

IndexOptions FancyIndexing NameWidth=*
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/deb.gif .deb
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif DIRECTORY
AddIcon /icons/blank.gif BLANKICON
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER.html HEADER.txt RCS CVS *,v *,t

</IfModule>

<IfModule mod_mime.c>

AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .ee
AddLanguage fr .fr
AddLanguage de .de
AddDefaultCharset ISO-8859-1
AddLanguage el .el
AddLanguage it .it
AddLanguage ja .ja
AddCharset ISO-2022-JP .jis
AddLanguage pl .po
AddCharset ISO-8859-2 .iso-pl
AddLanguage pt .pt
AddLanguage pt-br .pt-br
AddLanguage lb .lu
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .se
AddLanguage cs .cz
<IfModule mod_negotiation.c>
LanguagePriority en da nl et fr de el it ja pl pt pt-br lb ca es sv
</IfModule>
AddType application/x-tar .tgz
AddType image/bmp .bmp
AddType text/x-hdml .hdml
AddHandler cgi-script .cgi .sh .pl
AddHandler application/x-httpd-php .php
<IfModule mod_include.c>
AddType text/html .shtml
AddHandler server-parsed .shtml
</IfModule>
</IfModule>

AddDefaultCharset on

<IfModule mod_setenvif.c>
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
</IfModule>

<IfModule mod_perl.c>
<IfModule mod_alias.c>
Alias /perl/ /var/www/perl/
</IfModule>
<Location /perl>
SetHandler perl-script
PerlHandler Apache::Registry
Options +ExecCGI
</Location>
</IfModule>

<IfModule mod_alias.c>
Alias /doc/ /usr/share/doc/
</IfModule>

<Location /doc>
order deny,allow
deny from all
allow from 127.0.0.0/255.0.0.0
Options Indexes FollowSymLinks MultiViews
</Location>

<IfModule mod_proxy.c>
</IfModule>
SSLRandomFile file /dev/urandom 1024
SSLRandomFilePerConnection file /dev/urandom 1024
SSLDisable
SSLCacheServerPath /usr/lib/apache-ssl/gcache
SSLCacheServerPort /var/run/gcache_port
SSLSessionCacheTimeout 15
SSLCertificateFile /etc/apache-ssl/apache.pem
SSLVerifyClient 0
SSLVerifyDepth 10
SSLUseCRL
SSLCRLCheckAll
SSLOnRevocationSetEnv SSL_REVOKED
SSLOnCRLExpirySetEnv SSL_CRL_EXPIRED
SSLOnNoCRLSetEnv SSL_NO_CRL
SSLFakeBasicAuth
CustomLog /var/log/apache-ssl/ssl.log "%t %{version}c %{cipher}c %{clientcert}c"
Include /etc/apache-ssl/conf.d
NameVirtualHost *
NameVirtualHost 81.209.146.68
<VirtualHost 81.209.146.68:80>
suPHP_Engine on
suPHP_ConfigPath /etc/php4/cgi
User avista
Group avista
ServerName www.avista-ag.de
ServerAlias www.www.avista-ag.de
DocumentRoot /home/avista/www
ErrorLog /home/avista/logs/error_log
CustomLog /home/avista/logs/access_log common
ScriptAlias /cgi-bin/ /home/avista/cgi-bin/
<Directory /home/avista/www>
Options -Indexes IncludesNOEXEC FollowSymLinks
allow from all
</Directory>
<Directory /home/avista/www/support>
Options Indexes IncludesNOEXEC FollowSymLinks
AllowOverride All
DirectoryIndex portal.php
</Directory>
<Directory /www/pages/avista/www/download>
Options -Indexes IncludesNOEXEC FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost 81.209.146.68:80>
suPHP_Engine on
suPHP_ConfigPath /etc/php4/cgi
User braun-botnang
Group braun-botnang
ServerName www.braun-botnang.de
ServerAlias www.www.braun-botnang.de
DocumentRoot /home/braun-botnang/www
ErrorLog /home/braun-botnang/logs/error_log
CustomLog /home/braun-botnang/logs/access_log common
ScriptAlias /cgi-bin/ /home/braun-botnang/cgi-bin/
<Directory /home/braun-botnang/www>
Options Indexes IncludesNOEXEC FollowSymLinks
allow from all
</Directory>
</VirtualHost>
<VirtualHost 81.209.146.57:80>
suPHP_Engine on
suPHP_ConfigPath /etc/php4/cgi
User c20let
Group c20let
ServerName www.c20let-forum.com
ServerAlias www.www.c20let-forum.com
DocumentRoot /home/c20let/www
ErrorLog /home/c20let/logs/error_log
CustomLog /home/c20let/logs/access_log common
ScriptAlias /cgi-bin/ /home/c20let/cgi-bin/
<Directory /home/c20let/www>
Options Indexes IncludesNOEXEC FollowSymLinks
allow from all
</Directory>
<Directory /home/c20let/www/shop>
Options Indexes IncludesNOEXEC FollowSymLinks
allow from all
php_admin_value register_globals 1
</Directory>
<Directory /home/c20let/www/shop/admin>
Options Indexes IncludesNOEXEC FollowSymLinks
AllowOverride All
php_admin_value register_globals 1
</Directory>
<Directory /home/c20let/www/shop_test>
Options Indexes IncludesNOEXEC FollowSymLinks
allow from all
php_admin_value register_globals 1
</Directory>
<Directory /home/c20let/www/shop_test/admin>
Options Indexes IncludesNOEXEC FollowSymLinks
AllowOverride All
php_admin_value register_globals 1
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName c20let-forum.de
ServerAlias www.c20let-forum.de
Redirect / http://www.www.c20let-forum.com/
</VirtualHost>
<VirtualHost *:80>
ServerName avista-erp.de
ServerAlias www.avista-erp.de
Redirect / http://www.www.avista-ag.de/
</VirtualHost>
<VirtualHost 81.209.146.68:80>
suPHP_Engine on
suPHP_ConfigPath /etc/php4/cgi
User lul
Group lul
ServerName www.ll-designer.de
ServerAlias www.www.ll-designer.de
DocumentRoot /home/lul/www
ErrorLog /home/lul/logs/error_log
CustomLog /home/lul/logs/access_log common
ScriptAlias /cgi-bin/ /home/lul/cgi-bin/
<Directory /home/lul/www>
Options Indexes IncludesNOEXEC FollowSymLinks
allow from all
</Directory>
</VirtualHost>

Bzgl. deines Links hab ich mir diesen zwar durchgelesen, konnte aber ehrlich gesagt nicht so wirklich was mit anfangen, bzw. wie mir das weiter hilft. Liegt aber wohl eher an meiner Unerfahrenheit, denn von der Beschreibung her passt das ja, was bei mir passiert. ASo Apache ist eine 1.3 Version laut phpinfo()
Member: gnarff
gnarff Oct 21, 2007 at 18:12:06 (UTC)
Goto Top
Das sieht ja grausam aus, das ist ja regelrecht eine Zombie-Prozess Party.
Beispiel:19671 ? D 0:34 apache start

Die Prozesse, die mit D für defunct gekennzeichnet sind, nennt man auch Zombie-Prozesse und haben jeweils einen Parent-Prozess; die jeweiligen Parent - Prozesse gilt es nun zu ermitteln.

Wir wollen herausfinden Wer oder Was den Apacher Server zu starten versucht. Als mögliche Kandidaten, stehen imho der Mailserver, MySQL oder ein verhunzter Cron-Job zur Auswahl.

Eine Übersicht über die Prozesse und deren Hierarchie gibt Dir der Befehl:
ps -x -f

Poste das Ergebnis, am besten als Screenshot, hier oder lade das bei Imageshack hoch.
Der Thread ist schon so gewaltig geworden, dass man eine extra Handkurbel braucht, um sich nach unten zu scrollen.
Danach machen wir und daran, das Ergebnis PID für PID zu ueberpruefen...

Kannst Du mir Informationen zu folgenden URLs geben?
ServerName www.braun-botnang.de
ServerName www.c20let-forum.com
ServerName www.ll-designer.de

Die aktuelle Apache Version ist für Debian 1.3.34-4.1
Du hast PHP 4.x , aktuell ist 5.2.4-1
Das ist ein Sicherheitsrisiko.

saludos
gnarff
Member: TiCar
TiCar Oct 22, 2007 at 06:30:47 (UTC)
Goto Top
Wir wollen herausfinden Wer oder Was den
Apacher Server zu starten versucht. Als
mögliche Kandidaten, stehen imho der
Mailserver, MySQL oder ein verhunzter
Cron-Job zur Auswahl.
Mailserver wird nur intern verwendet um Benachrichtigungsmails für die 2 Foren zu versenden.

Poste das Ergebnis, am besten als
Screenshot, hier oder lade das bei Imageshack
hoch. Der Thread ist schon so gewaltig geworden,
dass man eine extra Handkurbel braucht, um
sich nach unten zu scrollen.
Kein Problem, mach ich doch gerne bei der Hilfe die mir hier zuteil wird *freu*


Kannst Du mir Informationen zu folgenden
URLs geben?
ServerName www.braun-botnang.de
tote Domain, wird nur wegen Mails benötigt (externe Mails). Keine DB, kein Web

ServerName www.c20let-forum.com
Mein größtes Forum mit über 5000 Usern, was schon öfters Probleme bereitete und vermutlich der Hauptgrund ist. Aktuell ein phpbb Plus 1.52 Version (bin ich zur Zeit am aktualisieren). Ein echter Speicherfresser, aber dem konnte ich durch Umprogrammierungen vor ca. 2 Jahren Einhalt gebieten, so das es doch anständig läuft. D.h. 300MB Datenbank, PHP, nur Benachrichtungsmails aus dem Forum.

ServerName www.ll-designer.de
08/15 Forum (phpbb Orion Version) so gut wie ungenutzt


Die aktuelle Apache Version ist für
Debian 1.3.34-4.1
Du hast PHP 4.x , aktuell ist 5.2.4-1
Das ist ein Sicherheitsrisiko.
Ja, aber ich habe Angst diese zu ändern. Mein Provider rät auch davon ab, da er nicht garantieren kann, dass danach noch alles so läuft face-sad Würde gern auf Apache2 und PHP5 updaten, aber auf dem Server läuft eigentlich auch noch die Geschäftspage, wo ich nicht riskieren will, dass diese ausfällt face-sad

Beim nächsten Gau, werde ich obigen, von dir geratenen Befehl ausführen und auch nochmal zum 1000x die Cronjobs prüfen. Vll. hab ich ja immer noch was übersehen *Seufz*

Danke dir vielmals.
Member: gnarff
gnarff Oct 22, 2007, updated at Oct 18, 2012 at 16:32:36 (UTC)
Goto Top
Da Du auch für MySQL Defunct-Prozesse angegeben werden, solltest Du doch mal nun endlich einen Blick in die entsprechenden Logfiles werfen.


Wenn Du über einen Windows-Rechner auf Deinen Server zugreifst, könnte auch -nur zur Sicherheit- ein kleiner Onlinescan bei abgeschalteter Systemwiederherstellung hilfreich sein.

saludos
gnarff
Member: TiCar
TiCar Oct 22, 2007 at 14:12:03 (UTC)
Goto Top
Hi,

kannst du mir ein hinweis geben, nach was ich in den Logs ausschau halten soll?
hab die ja schon mehr als 1x durchforstet, aber ist schwer, wenn man nicht weiß nach was man sicht, es zu finden face-sad

Ich greif eigentlich von einem Linux PC auf den Debian Server zu per ssh
Member: gnarff
gnarff Oct 22, 2007 at 16:18:59 (UTC)
Goto Top
Ich habe grade keinen Linux-Rechner frei, wenn Du eine Möglichkeit findest die Logs in eine *.txt-Datei zu speichern, selbige zu komprimieren [*zip oder *.rar] und an ceo_at_ampersanded.com zu senden, schau ich mir die an. Dann kannst Du auch gleich ps -x -f ausführen und mir das Ergebnis ebenfalls überstellen.

saludos
gnarff
Member: TiCar
TiCar Oct 24, 2007 at 08:02:24 (UTC)
Goto Top
Hi gnarff,

Mail bekommen?

Gibt schon wieder Neuigkeiten. Kam heute morgen an den PC und musste feststellen, dass der Server seit gestern Abend 18:25 stand. Zumindest ist zu dieser uhrzeit der letzte Eintrag im access.log des Apache.

Hab dann wieder alle Logs durchgeschaut und festgestellt das um 18:09 folgender CronJob im syslog ein Eintrag hinterlassen hat, den ich nicht entschlüsseln kann und auch nicht weiß ob es was zu bedeuten hat.

ct 23 18:09:04 web /USR/SBIN/CRON[27686]: (root) CMD ( [ -d /var/lib/php4 ] && find /var/lib/php4/ -type f -cmin +$(/usr/lib/php4/maxlifetime) -print0 | xargs -r -0 rm)
Oct 23 18:09:04 web /USR/SBIN/CRON[27687]: (root) CMD ( [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -r -0 rm)
Oct 24 09:07:47 web syslogd 1.4.1#18: restart.

Vll. kann jemand was dazu sagen, bzw. vll. ists es ja ein völlig unwichtiger Befehl.
Member: gnarff
gnarff Oct 24, 2007 at 13:32:11 (UTC)
Goto Top
Ja, Mail erhalten, habe aber so viel zu tun gehabt, dass ich erst heute mir das anschauen kann...; gleich nach dem Fruehstueck.

Allerdings, wenn Ich mir den Logauszug da oben so ansehe und mit dem gegenüberstelle, was Du mir geschickt hast, dann würde ich Dir dazu raten MySQL neu aufzusetzen.
Dabei wäre es dann sinnvoll gleich die neuesten PHP und MySQL Versionen zu verwenden, gleiches gilt für Apache.
Dabei wäre es interessant vorher zu wissen, welche Debian Version und Kernel verwendet wird.

saludos
gnarff
Member: TiCar
TiCar Oct 26, 2007 at 00:20:39 (UTC)
Goto Top
Hi,

neu aufsetzen? *brrrrrr* Ich bekomme eine Gänsehaut. Wenn der Rechner jetzt hier unter meinem Tisch für private Zwecke stehen würde, ok, dann würde ich Tabularasa machen, aber auf einem Webserver, Kilometer entfernt, unsicher in der Handhabung was man da wirklich tut, auf die Gefahr hin, das komplette Teil an die Wand zu setzen ... da bekomme ich ein ganz flaues Gefühl im Magen face-sad Bzw. flau ist gar kein Ausdruck, wenn du verstehst was ich meine.

Ich kenne mich zwar schon etwas aus mit Debian, etc. aber würde mich sicher nicht als Profi sondern Amateur bezeichnen. Ich weiß solche Leute sollte man keinen Root-Server in die Hand geben, aber ist nunmal so und ich versuche mich ja auch reinzuarbeiten und besser zu werden.

Zu deinen Frage:
ServerB
PHP: 4.4.2-1.1
Apache: 1.3.34
mysql: 5.0.22
Kernel: 2.4.29

Die große Angst ist bei einem Update vorallem bei mySQL ob die Datenbanken noch laufen, weil das ist fast das wichtigste. Apache steht dann allerdings auch nochmal auf einem anderen Blatt, da ich aus Erfahrung weiß, dass sich einiges an Parametern zwischen Version 1 und Version 2 getan hat, nicht zu vergessen PHP *püüüüh*

Da ich noch ein 2. potenteren Server habe, habe ich übrigens am Mittwoch Abend mein Hauptforum dorthin umgezogen. Dieses phpbb Forum gehörte eh ursprünglich auf diesen Server, was aber schon früher oft zum kompletten Freeze geführt hat. Erst nachdem wir die Datenbank auf ein Extra Server verlegt hatten, damals wurden die Abstürze sehr selten. Nuja, das ist alles Vergangenheit und soll hier auch nicht das Thema sein.

Heute sitz ich nichts ahnend also im Büro und musste noch längers was schaffen (>20Uhr) als ich ne SMS bekomme. Mein Server is tot. Die SMS bekomme ich nur bei diesem Server, dem Server A der übrigens folgende Daten hat:

ServerA
Version mySQL: 4.0.24
Linux Kernel: 2.4.32 (wird in Kürze auf 2.6 vom Provider geupt)
Apache: 1.3.33
PHP: 4.3.10-16

Nunja, das übliche, Anruf beim Provider und bitte Neustart (diesmal auch nicht mehr anpingbar oder Zugang per ssh wie bei ServerA, wo ich dies über ssh in letzer Zeit noch retten konnte). Nach dem Neustart, hab ich dann wieder htop angeschmissen und das ganze mal live beobachtet. Anfang noch recht gemütlich mit 70-110 Tasks, load average von 0.60 bis 1.90 und eine Speicherauslastung von gerade mal 30%.

Aber auf einmal schießen die Werte schlagartig nach oben. Tasks 350-450, Load average 12.0 bis 14.00, CPU konstant auf 100% mit viel rot dabei, Speicher weiß ich nicht mehr und die Liste der Prozesse war über den komlpetten Bildschrim mit mysqld überfüllt. Hab dann erstmal den ymsql Prozess manuell gestoppt, wobei dann immer noch genauso viele Apache-ssl Prozesse in der Liste standen, die ich dann ebenfalls manuell gekillt habe. Ich hab auf Anraten eines Freunden dann die Werte für max_connections = 999 in der my.cnf gestellt und in der httpd.conf habe ich die Werte für MaxRequestsChild = 50 (vorher 100) und MaxClients = 30 (vorher 150) gesetzt. Seitdem verhält er sich bis jetzt zumindest rel ruhig, auch wenn es jetzt deutlich langsamer ist. Aber lieber erst etwas langsamer und stabil, als schnell und jede 24h Weg vom Fenster :D

Also aus meiner sicht, verursachen HTTP Anfragen auf dem Apache eine derartige Flut an Prozessen (vll. die typischen Google Robots), dass der völlig überlastet ist. Sollte jetzt zwar kein Grund sein, einfach den Löffel abzugeben, aber nun, gut wenn mich 100 Leute im Schwitzkasten haben, mach ich auch irgendwann schlapp face-sad
Member: gnarff
gnarff Oct 26, 2007 at 01:05:37 (UTC)
Goto Top
Muss Dir dazu sagen, dass lt. dem von Dir eingesandten Material die Prozessflut von innen ausgelöst wird und nicht via HTTP Anfragen.
Man beachte die vielen MySQL Zombieprozesse.
Mache ein Backup der MySQL Database mit mysqldump, ein Backup von allen sonstigen wichtigen Daten und setze den Server neu auf.
Frage Deinen Provider, ob er Dir nicht jetzt schon die neueste Debian Kernelversion spendieren kann.
Denke daran, dass Du MySQL vo PHP installierst und einrichtest.
Anderer Lösungsansatz:
Finde heraus, woher die vielen MySQL Defuncts herkommen und repariere es.

saludos
gnarff
Member: TiCar
TiCar Oct 26, 2007 at 07:33:18 (UTC)
Goto Top
Hi,

kannst du mir paar Dinge erklären:

1. Wie erkenne ich ob die Flut von Anfragen/Prozesse von aussen oder von innen erzeugt werden?
(ich vermute durch das netstat -pan, aber nach was muss ich da ausschau halten)

2. Die defunct Prozesse erkenne ich ja durch das D in der Liste von htop, top oder ps ax
Problem ist das diese Prozesse schneller verschwunden sind wie sie auftauschen, in welchen Logs, oder mit welchem Befehl kann ich so ein Prozess Dingfest machen, um zu sehen woher dieser erzeugt wird?

3. Gibt es eine Möglichkeit im mysql Log auch ein Datum einzublenden? Weil eine riesen lange Wurst an mysql Befehlen, die alle gut und stimmig aussehen sind schwer zu analysieren, wenn man nicht weiß wonach man sicht. Da würde ich Monate dran sitzen.

Mir wäre es sehr recht die eigentliche Ursache finde, denn der Server wurde schonmal neu vom Provider aufgesetzt mit dem ich deswegen direkten Kontakt habe. Den 26 Kernel wird er auf jeden Fall installieren (da lasse ich lieber meine Finger weg)

Gruß,
Lars
Member: gnarff
gnarff Oct 26, 2007 at 20:29:31 (UTC)
Goto Top

Mir wäre es sehr recht die eigentliche
Ursache finde,

Willkommen im aua-aua Land...

1. netstat -tupln
wobei t fuer TCP
u fuer UDP
l fuer LISTENING
p fuer PORT
steht

2. Die dadurch gewonnene Ausgabe Prozess für Prozess untersuchen mit
ps aux | grep process [Hier Prozessummer eintragen]

3. MySQL Logs.
Ich weiss nicht, in welchen Logfile Du nachschaust.
Hört sich seltsam an, dass keine Timestamps vorhanden sind.

-Loesche alle Logs mit mysqladmin flush-logs oder mysqladmin refresh, mehr Informationen dazu.
-Starte den Server neu und lasse den eine Weile laufen, bis die ersten Defunct-Prozesse ausgegeben werden
- Trenne den Server vom Internet
- Mache eine Backup von dem Log [falls du es mir schicken willst oder um es mit einem der nachfolgenden Logfiles zu vergleichen]
- Logfile auswerten mit mysql_explain_log


saludos
gnarff
Member: TiCar
TiCar Dec 16, 2007 at 09:53:25 (UTC)
Goto Top
Hi gnarff,

ich danke dir nochmals für deine ausführliche Hilfe. Wollte hier nochmal reinschreiben und den aktuellen Stand mitteilen.

Inzwischen bin ich auf ein SUN-Server umgezogen, den mir mein Provider hingestellt hat *freu* Auf dem läuft das ganze System bisher super gut und ohne Zwischenfälle *schnellaufHolzklopf* Der alte Server wird demnächste bei denen einem ausgiebigen Test unterzogen, um rauszufinden, was mit ihm war oder ist.

Nochmals viele Dank für dein Einsatz.