apache crasht ohne fehlermeldung

stot

New Member
Hallo zusammen,

nachdem ich nun bereits seit einiger Zeit auch hier im Forum schon gesucht habe aber leider nicht fündig geworden bin, möchte ich mein Problem schildern.

Nachdem meine Seite(n) auf s4y höheren Traffic bekommen, habe ich probleme mit der Stabilität der Grundservices: Apache, MySQL. Zuerst stürzte MySQL Server ab. Nach einiger Recherche fand ich heraus, dass der query_cache abgeschaltet war!!! Hilfe!! Also das ding aktiviert (2MB) und ab sofort lief mysql wie geölt.

Jetzt macht der Apache manchmal schlapp.
Zuerst wurden die MaxClients Limit ab und zu erreicht (Meldung im Logfile). Anstelle das limit zu erhöhen (hat nix gebracht wg. Ressourcenproblemen), habe ich KeepAlive von 15 auf 2 reduziert. MaxClient limit wurde seitdem nicht mehr erreicht. Leider crasht der Apache jetzt so ca. alle 2 Wochen ohne jegliche Fehlermeldung. Wo kann ich da ansetzen?

Jetzt noch ein paar Details. Der Server ist ein VServer für 12 Euro mit 512 MB RAM. Das Problem scheinen aber die CPU bzw die TCP Connections zu sein. Top zeigt manchmal zu hohe werte an. Z.B. 100%, aber die prozesse in der liste haben zusammen z.B. nur 20%. Wie kommt das?
die /proc/user_beancount Werte sind eigentlich ganz gut, bis auf numtcpsock (max 172). Da steht der failcnt bei 393, allerdings seit einer Weile unverändert. Was mich wirklich geschockt hat, war der unix bench 4.1 index von nur 18.1. Auf einer Vergleichsliste entsprach das in etwa ein PII mit 200 Mhz und 32Mb RAM. Da stimmt doch was nicht.


Was meint ihr dazu?
 

noto

Blog Benutzer
Top zeigt manchmal zu hohe werte an. Z.B. 100%,
100%id sagt nur, daß 100% der Zeit die CPU nix zu tun hat und sich langweilt.

Code:
id = Idle Time, CPU wird nicht beansprucht (Pause)

us = User Time, CPU wird von Programmen beansprucht (Arbeitszeit)
sy = System Time, CPU wird vom Kernel beansprucht (Arbeitszeit)
ni = Nice Time, CPU wird von Prozessen beansprucht (Arbeitszeit)
wa = Wait Time, CPU wartet auf I/O z.B. Festplatte, Netzwerk (Pause)

load average = 1,0 = 100% Auslastung der CPU
Ich würde den Server erstmal weiter im Auge behalten und die Logfiles regelmäßig nachschauen. Vielleicht findet sich ja doch noch ein Hinweis auf einen Fehler.
 

stot

New Member
Schaut euch das mal an. Total cpu ist insgesamt 100% (user, system, io) aber beim zusammenrechnen der einzelnen task anteile komme ich nur auf 65,6%. Wie kann das sein? Rootkits?

beste grüsse
stot

Code:
Tasks:  26 total,   3 running,  23 sleeping,   0 stopped,   0 zombie
Cpu(s):  98.0% user,   1.5% system,   0.0% nice,   0.0% idle,   0.5% IO-wait
Mem:    524288k total,    68040k used,   456248k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
20177 wwwrun    25   0 16248  13m 1556 R 62.6  2.7   0:12.23 awstats.pl
18179 mysql     17   0 40984  36m 2776 S  1.7  7.1   0:02.03 mysqld
18172 wwwrun    15   0 11908 5956 3200 S  1.0  1.1   0:00.55 httpd2-prefork
18427 root      16   0  2068 1020  832 R  0.3  0.2   0:00.09 top
    1 root      16   0   620  256  220 S  0.0  0.0   0:02.05 init
31928 root      16   0  1564  576  484 S  0.0  0.1   0:16.49 syslogd
31941 root      16   0  1632  496  316 S  0.0  0.1   0:00.00 klogd
31985 root      16   0  4456 1236  852 S  0.0  0.2   0:01.06 saslauthd
32067 root      15   0  2168  828  700 S  0.0  0.2   0:05.25 xinetd
32109 root      16   0  4928 1120  844 S  0.0  0.2   1:05.26 sshd
 3237 root      16   0  1712  640  544 S  0.0  0.1   0:00.07 cron
19729 root      16   0 10976 4384 2640 S  0.0  0.8   0:03.16 httpd2-prefork
19730 root      16   0  3320 1344 1140 S  0.0  0.3   0:00.00 pipelog.pl
22229 root      25   0  2464 1100  896 S  0.0  0.2   0:00.00 mysqld_safe
22266 mysql     16   0 40984  36m 2776 S  0.0  7.1   0:00.36 mysqld
22284 mysql     16   0 40984  36m 2776 S  0.0  7.1   0:00.91 mysqld
22286 mysql     16   0 40984  36m 2776 S  0.0  7.1   0:00.13 mysqld
18285 root      16   0  5584 2044 1620 R  0.0  0.4   0:00.14 sshd
18297 root      16   0  5584 2044 1620 S  0.0  0.4   0:00.00 sshd
18308 web2      16   0  2792 1632 1224 S  0.0  0.3   0:00.01 bash
18398 root      16   0  2424 1068  768 S  0.0  0.2   0:00.00 su
18411 root      16   0  2792 1648 1212 S  0.0  0.3   0:00.00 bash
20015 wwwrun    16   0 11936 5708 2944 S  0.0  1.1   0:00.15 httpd2-prefork
20018 mysql     18   0 40984  36m 2776 S  0.0  7.1   0:00.71 mysqld
20179 wwwrun    16   0 11760 5328 2808 S  0.0  1.0   0:00.12 httpd2-prefork
20225 mysql     17   0 40984  36m 2776 S  0.0  7.1   0:00.03 mysqld
 

noto

Blog Benutzer
Code:
Cpu(s):  98.0% user,   1.5% system,   0.0% nice,   0.0% idle,   0.5% IO-wait
sagt aus, mit was die CPU die letzten Sekunden beschäftigt war und ist in der Summe immer 100% (die CPU war die letzten Sekunden zu 98,0% durch Anwednungen wie awstats.pl beschäftigt)

Beispiel:

Angenommen es würden die letzten 100 Sekunden gemessen. Dann wäre die CPU 98 Sekunden mit Anwendungen beschäftigt gewesen und 2 Sekunden hat sie andere Dinge gemacht wie z.b. 0,5 Sekunden auf die Festplatte warten)

Code:
 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
20177 wwwrun    25   0 16248  13m 1556 R 62.6  2.7   0:12.23 awstats.pl
sagt aus, wie stark die CPU von einer Anwendung ausgelastet wird (awstats.pl lastet die CPU gerade zu 62,6% aus)

Hier hab ich was für dich zum lesen!

:)
 
Last edited by a moderator:
Top