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.
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 70855
Url: https://administrator.de/forum/auslastung-webserver-debian-70855.html
Ausgedruckt am: 10.04.2025 um 01:04 Uhr
28 Kommentare
Neuester Kommentar
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
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
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*
Tasks: 66 total, 3 running, 63 sleeping,
0 stopped, 0 zombie
Cpu0 : 31.5% user, 2.4% system, 0.0%
nice, 66.1% 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
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
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
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
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
26748 ? S 0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
1962 ? Z 1:02 [apache-ssl] <defunct>
Siehe How to kill defunct process
Mehr faellt mir da nicht auf.
saludos
gnarff
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
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
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
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
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
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
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
saludos
gnarff
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
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
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
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
Mir wäre es sehr recht die eigentliche
Ursache finde,
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