Page 1 of 1

Apache saugt Prozessor-Last

Posted: 2003-12-02 02:23
by routeserver
Moin,

ich hab einen ziemlich schnellen Server mit einem Apache, der seit einiger Zeit nach ca. 5 Stunden einen Prozess mit 100% CPU-Last hat. Dieser Prozess hat nicht die übliche Ausführdauer von Sekunden/Minuten, sondern läuft stundenlang. Teilweise zieht es dann auch den Server in die Knie. Dann geht nix mehr, selbst der Apache Restart will nicht.


Ich habe herausgefunden, dass ein Account auf dem Server diese Last erzeugt, habe aber keinen Weg gefunden, die genaue Ursache zu erkunden.

Habt Ihr ein Lösungsansatz, wie man dafür die Ursache finden kann?

Die Logfiles geben keine Hinweise. Es gibt keine ständigen Downloads oder andere Prozesse (wie Chats), die im Access-Log erkennbar wären. Es gibt keine Warnungen oder andere Einträge.


Vielen Dank

Jörg

PS: Mit dem schnellen Server wollte ich nur implizieren, dass der Rechner nicht die Ursache für die 100% Auslastund sein kann.

Re: Apache saugt Prozessor-Last

Posted: 2003-12-02 03:37
by headdown
vielleicht testet gerade jemand sein neues cgi-skript? :twisted:

Re: Apache saugt Prozessor-Last

Posted: 2003-12-02 12:01
by alexander newald
Wie immer:

ps xauf

lsof -p <pid_mit_dauerlast>

in Code Tags posten...

Re: Apache saugt Prozessor-Last

Posted: 2003-12-03 21:16
by routeserver
Joo, das is ne menge Text

Bin sehr gespannt, ob Ihr das deuten könnt.

Code: Select all

lsof -p 24940
COMMAND   PID   USER   FD   TYPE     DEVICE     SIZE    NODE NAME
httpd   24940 wwwrun  cwd    DIR        8,1      552       2 /
httpd   24940 wwwrun  rtd    DIR        8,1      552       2 /
httpd   24940 wwwrun  txt    REG        8,1   269276  648175 /usr/sbin/httpd
httpd   24940 wwwrun  mem    REG        8,1    90989  103632 /lib/ld-2.2.5.so
httpd   24940 wwwrun  mem    REG        8,1     7628  648165 /usr/lib/apache/mod_mmap_static.so
httpd   24940 wwwrun  mem    REG        8,1     7316  648174 /usr/lib/apache/mod_vhost_alias.so
httpd   24940 wwwrun  mem    REG        8,1     5808  648151 /usr/lib/apache/mod_env.so
httpd   24940 wwwrun  mem    REG        8,1    15084   43328 /usr/lib/libmm.so.12.0.21
httpd   24940 wwwrun  mem    REG        8,1   176399  103630 /lib/i686/libm.so.6
httpd   24940 wwwrun  mem    REG        8,1    43371  103634 /lib/libcrypt.so.1
httpd   24940 wwwrun  mem    REG        8,1    26620   22873 /usr/lib/libgdbm.so.2.0.0
httpd   24940 wwwrun  mem    REG        8,1   744626   27458 /usr/lib/libdb-4.0.so
httpd   24940 wwwrun  mem    REG        8,1   161248   22832 /usr/lib/libexpat.so.0.3.0
httpd   24940 wwwrun  mem    REG        8,1    11832  103635 /lib/libdl.so.2
httpd   24940 wwwrun  mem    REG        8,1  1312490  103629 /lib/i686/libc.so.6
httpd   24940 wwwrun  mem    DEL        0,5           327680 /SYSV00000000
httpd   24940 wwwrun  mem    REG        8,1     6592  648145 /usr/lib/apache/mod_define.so
httpd   24940 wwwrun  mem    REG        8,1    14472  648160 /usr/lib/apache/mod_log_config.so
httpd   24940 wwwrun  mem    REG        8,1     5004  648159 /usr/lib/apache/mod_log_agent.so
httpd   24940 wwwrun  mem    REG        8,1     5828  648161 /usr/lib/apache/mod_log_referer.so
httpd   24940 wwwrun  mem    REG        8,1    19112  648164 /usr/lib/apache/mod_mime_magic.so
httpd   24940 wwwrun  mem    REG        8,1    11792  648163 /usr/lib/apache/mod_mime.so
httpd   24940 wwwrun  mem    REG        8,1    22892  648166 /usr/lib/apache/mod_negotiation.so
httpd   24940 wwwrun  mem    REG        8,1    16536  648170 /usr/lib/apache/mod_status.so
httpd   24940 wwwrun  mem    REG        8,1    16676  648158 /usr/lib/apache/mod_info.so
httpd   24940 wwwrun  mem    REG        8,1    30688  648156 /usr/lib/apache/mod_include.so
httpd   24940 wwwrun  mem    REG        8,1    23480  648141 /usr/lib/apache/mod_autoindex.so
httpd   24940 wwwrun  mem    REG        8,1     5784  648149 /usr/lib/apache/mod_dir.so
httpd   24940 wwwrun  mem    REG        8,1    11680  648143 /usr/lib/apache/mod_cgi.so
httpd   24940 wwwrun  mem    REG        8,1     4616  128310 /usr/lib/apache/mod_asis.so
httpd   24940 wwwrun  mem    REG        8,1    13160  648155 /usr/lib/apache/mod_imap.so
httpd   24940 wwwrun  mem    REG        8,1     5896  128308 /usr/lib/apache/mod_actions.so
httpd   24940 wwwrun  mem    REG        8,1     9076  648169 /usr/lib/apache/mod_speling.so
httpd   24940 wwwrun  mem    REG        8,1     8496  128309 /usr/lib/apache/mod_alias.so
httpd   24940 wwwrun  mem    REG        8,1    48540  648167 /usr/lib/apache/mod_rewrite.so
httpd   24940 wwwrun  mem    REG        8,1     7300  128307 /usr/lib/apache/mod_access.so
httpd   24940 wwwrun  mem    REG        8,1     9256  648132 /usr/lib/apache/mod_auth.so
httpd   24940 wwwrun  mem    REG        8,1     5892  648138 /usr/lib/apache/mod_auth_anon.so
httpd   24940 wwwrun  mem    REG        8,1     6828  648140 /usr/lib/apache/mod_auth_dbm.so
httpd   24940 wwwrun  mem    REG        8,1     6788  648139 /usr/lib/apache/mod_auth_db.so
httpd   24940 wwwrun  mem    REG        8,1     7780  648146 /usr/lib/apache/mod_digest.so
httpd   24940 wwwrun  mem    REG        8,1    86664  128306 /usr/lib/apache/libproxy.so
httpd   24940 wwwrun  mem    REG        8,1     6776  648142 /usr/lib/apache/mod_cern_meta.so
httpd   24940 wwwrun  mem    REG        8,1     7376  648153 /usr/lib/apache/mod_expires.so
httpd   24940 wwwrun  mem    REG        8,1     5776  648154 /usr/lib/apache/mod_headers.so
httpd   24940 wwwrun  mem    REG        8,1     8384  648173 /usr/lib/apache/mod_usertrack.so
httpd   24940 wwwrun  mem    REG        8,1     5716  648171 /usr/lib/apache/mod_unique_id.so
httpd   24940 wwwrun  mem    REG        8,1     7440  648168 /usr/lib/apache/mod_setenvif.so
httpd   24940 wwwrun  mem    REG        8,1   173824  648176 /usr/lib/apache/libssl.so
httpd   24940 wwwrun  mem    REG        8,1    22269   60946 /usr/lib/libmcrypt.so.4.3.2
httpd   24940 wwwrun  mem    REG        8,1   218440  541423 /usr/lib/libssl.so.0.9.6
httpd   24940 wwwrun  mem    REG        8,1   970989  541422 /usr/lib/libcrypto.so.0.9.6
httpd   24940 wwwrun  mem    REG        8,1   389446   71753 /usr/lib/apache/libperl.so
httpd   24940 wwwrun  mem    REG        8,1    10600  103643 /lib/libutil.so.1
httpd   24940 wwwrun  mem    REG        8,1     6332  648172 /usr/lib/apache/mod_userdir.so
httpd   24940 wwwrun  mem    REG        8,1    13186   44325 /usr/lib/perl5/5.8.0/i586-linux-thread-multi/auto/Cwd/Cwd.so
httpd   24940 wwwrun  mem    REG        8,1    68712   71925 /usr/share/extensions/no-debug-non-zts-20020429/gd.so
httpd   24940 wwwrun  mem    DEL        0,5           425987 /SYSV00000000
httpd   24940 wwwrun  mem    REG        8,1    87569  103637 /lib/libnsl.so.1
httpd   24940 wwwrun  mem    REG        8,1   102052  103631 /lib/i686/libpthread.so.0
httpd   24940 wwwrun  mem    REG        8,1  2021608  148212 /usr/lib/apache/libphp4.so
httpd   24940 wwwrun  mem    REG        8,1   198757  611745 /usr/local/lib/libpng12.so.0.1.2.5
httpd   24940 wwwrun  mem    REG        8,1    64888   26757 /usr/X11R6/lib/libXpm.so.4.11
httpd   24940 wwwrun  mem    REG        8,1   307598   25518 /lib/libncurses.so.5.2
httpd   24940 wwwrun  mem    REG        8,1    35112   61282 /lib/libpam.so.0.76
httpd   24940 wwwrun  mem    REG        8,1    64240   25321 /usr/lib/libmcal.so.0.6
httpd   24940 wwwrun  mem    REG        8,1   735696   25101 /usr/lib/libc-client.so.2001a
httpd   24940 wwwrun  mem    REG        8,1   827483   28541 /usr/lib/libsablot.so.0.82.0
httpd   24940 wwwrun  mem    REG        8,1   413184   70610 /usr/lib/libsnmp-0.4.2.5.so
httpd   24940 wwwrun  mem    REG        8,1    80367   65964 /usr/lib/libpq.so.2.2
httpd   24940 wwwrun  mem    REG        8,1   122197   25291 /usr/lib/libiodbc.so.2.1.6
httpd   24940 wwwrun  mem    REG        8,1   217850  541420 /usr/lib/libmysqlclient.so.10.0.0
httpd   24940 wwwrun  mem    REG        8,1    27943   43250 /usr/lib/libltdl.so.3.1.0
httpd   24940 wwwrun  mem    REG        8,1   214975   69885 /usr/lib/libldap.so.2.0.104
httpd   24940 wwwrun  mem    REG        8,1    54048   69883 /usr/lib/liblber.so.2.0.104
httpd   24940 wwwrun  mem    REG        8,1   201378   25013 /usr/lib/libgmp.so.3.2.0
httpd   24940 wwwrun  mem    REG        8,1   198870   27566 /usr/lib/libgd.so.4.0.0
httpd   24940 wwwrun  mem    REG        8,1   266251   28561 /usr/lib/libt1.so.1.3.1
httpd   24940 wwwrun  mem    REG        8,1  1466224  612421 /usr/local/lib/libfreetype.so.6.3.4
httpd   24940 wwwrun  mem    REG        8,1  1098101   26735 /usr/X11R6/lib/libX11.so.6.2
httpd   24940 wwwrun  mem    REG        8,1    61851  103609 /lib/libz.so.1.1.4
httpd   24940 wwwrun  mem    REG        8,1   135966   25307 /usr/lib/libjpeg.so.62.0.0
httpd   24940 wwwrun  mem    REG        8,1   753656   43299 /usr/lib/libxml2.so.2.4.23
httpd   24940 wwwrun  mem    REG        8,1   154612   63115 /usr/lib/libcurl.so.2.0.2
httpd   24940 wwwrun  mem    REG        8,1    67085   22541 /usr/lib/libbz2.so.1.0.0
httpd   24940 wwwrun  mem    REG        8,1    70044  103642 /lib/libresolv.so.2
httpd   24940 wwwrun  mem    REG        8,1    89109   64961 /usr/lib/libsasl.so.7.1.10
httpd   24940 wwwrun  mem    REG        8,1    53230  103529 /usr/lib/libgssapi.so.1.2.4
httpd   24940 wwwrun  mem    REG        8,1   263374  103530 /usr/lib/libkrb5.so.17.1.2
httpd   24940 wwwrun  mem    REG        8,1   147905  103528 /usr/lib/libasn1.so.5.0.0
httpd   24940 wwwrun  mem    REG        8,1    84253   63148 /usr/lib/libroken.so.9.5.3
httpd   24940 wwwrun  mem    REG        8,1     7801   63134 /usr/lib/libcom_err.so.1.1.0
httpd   24940 wwwrun  mem    REG        8,1    50549  103638 /lib/libnss_compat.so.2
httpd   24940 wwwrun  mem    REG        8,1   201916   23465 /usr/lib/locale/de_DE@euro/LC_CTYPE
httpd   24940 wwwrun  mem    DEL        0,5           360449 /SYSV00000000
httpd   24940 wwwrun  mem    REG        8,1    44543  103640 /lib/libnss_files.so.2
httpd   24940 wwwrun  mem    REG        8,1  1271317   44199 /usr/lib/perl5/5.8.0/i586-linux-thread-multi/CORE/libperl.so
httpd   24940 wwwrun  mem    DEL        0,5          1179652 /SYSV00000000
httpd   24940 wwwrun    0r   CHR        1,3            36031 /dev/null
httpd   24940 wwwrun    1w   CHR        1,3            36031 /dev/null
httpd   24940 wwwrun    2w   REG        8,1   677826  125118 /var/log/httpd/error_log
httpd   24940 wwwrun    3u   REG        8,1        0  124122 /var/lib/httpd/mm.26399.sem
httpd   24940 wwwrun    4r  FIFO        0,6          3091261 pipe
httpd   24940 wwwrun    5u   REG        8,1        0  128311 /tmp/session_mm_apache0.sem (deleted)
httpd   24940 wwwrun    6u   REG        8,1        0  125109 /tmp/session_mm_apache0.sem
httpd   24940 wwwrun    7w  FIFO        0,6          3091261 pipe
httpd   24940 wwwrun    8u  sock        0,0          3282042 can't identify protocol
httpd   24940 wwwrun    9uW  REG        8,1     3719  647907 /tmp/sess_c5ef4ca523866825d348748ec7a897a6 (deleted)
httpd   24940 wwwrun   10u  unix 0xf27b55c0          3120052 socket
httpd   24940 wwwrun   15w   REG        8,1   677826  125118 /var/log/httpd/error_log
httpd   24940 wwwrun   16w   REG        8,1   325847  103424 /var/log/httpd/login.internet.de_error.log
httpd   24940 wwwrun   17u  IPv4     413569              TCP *:https (LISTEN)
httpd   24940 wwwrun   18u  IPv4     413570              TCP *:http (LISTEN)
httpd   24940 wwwrun   19w   REG        8,1   537843  128314 /var/log/httpd/ssl_engine_log
httpd   24940 wwwrun   20w   REG        8,1        0  125605 /var/run/ssl_mutex.26399
httpd   24940 wwwrun   21w   REG        8,1  3082397  481276 /var/log/httpd/access_log
httpd   24940 wwwrun   22w   REG        8,1    37317  118138 /home/www/web1/log/access_log
httpd   24940 wwwrun   23w   REG        8,1 69964540  118231 /home/www/web2/log/access_log
httpd   24940 wwwrun   24w   REG        8,1 69964540  118231 /home/www/web2/log/access_log
httpd   24940 wwwrun   25w   REG        8,1    37317  118138 /home/www/web1/log/access_log
httpd   24940 wwwrun   26w   REG        8,1 69964540  118231 /home/www/web2/log/access_log
httpd   24940 wwwrun   27w   REG        8,1 69964540  118231 /home/www/web2/log/access_log
httpd   24940 wwwrun   28w   REG        8,1 69964540  118231 /home/www/web2/log/access_log
httpd   24940 wwwrun   29w   REG        8,1 69964540  118231 /home/www/web2/log/access_log
httpd   24940 wwwrun   30w   REG        8,1    37317  118138 /home/www/web1/log/access_log
httpd   24940 wwwrun   31w   REG        8,1    37317  118138 /home/www/web1/log/access_log
httpd   24940 wwwrun   32w   REG        8,1 69964540  118231 /home/www/web2/log/access_log
httpd   24940 wwwrun   33w   REG        8,1 69964540  118231 /home/www/web2/log/access_log
httpd   24940 wwwrun   34w   REG        8,1 69964540  118231 /home/www/web2/log/access_log
httpd   24940 wwwrun   35w   REG        8,1    37317  118138 /home/www/web1/log/access_log
httpd   24940 wwwrun   36w   REG        8,1    37317  118138 /home/www/web1/log/access_log
httpd   24940 wwwrun   37w   REG        8,1 69964540  118231 /home/www/web2/log/access_log
httpd   24940 wwwrun   38w   REG        8,1    37317  118138 /home/www/web1/log/access_log
httpd   24940 wwwrun   39w   REG        8,1 16645403  103425 /var/log/httpd/login.internet.de_access.log
httpd   24940 wwwrun   40w   REG        8,1        0  125605 /var/run/ssl_mutex.26399

Re: Apache saugt Prozessor-Last

Posted: 2003-12-03 21:27
by alexander newald
Welcher Prozess direkt das ist kann ich nicht sagen, aber

Code: Select all

httpd 24940 wwwrun 3u REG 8,1 0 124122 /var/lib/httpd/mm.26399.sem 
httpd 24940 wwwrun 5u REG 8,1 0 128311 /tmp/session_mm_apache0.sem (deleted) 
httpd 24940 wwwrun 6u REG 8,1 0 125109 /tmp/session_mm_apache0.sem
welcher Prozess hat die PID 26399 ?

Re: Apache saugt Prozessor-Last

Posted: 2003-12-03 21:48
by routeserver
die PID existiert nicht.

bei lsof -p 26399

erscheint nur die nächste Zeile - ohne Antwort.

Re: Apache saugt Prozessor-Last

Posted: 2003-12-03 21:48
by routeserver
kann man mir lsof auch die Prozessor-Last wieder anzeigen?

Re: Apache saugt Prozessor-Last

Posted: 2003-12-03 21:50
by evoluzzer
interpretiere ich das richtig oder ist da modproxy geladen?

Re: Apache saugt Prozessor-Last

Posted: 2003-12-03 21:54
by alexander newald
Wenn du wieder einen solchen Prozess hast, mach mal ein strace -p <PID_100%>

Achtung: Es kommt sehr viel auf einmal. Interessant ist das ganze nur, wenn sich wiederholender Text auftaucht (Kann ein paar Sekunden dauern)

Den dann posten.

Re: Apache saugt Prozessor-Last

Posted: 2004-01-05 19:20
by routeserver
Erst wunderschönen Rutsch rückwirkend.

Ich hab strace -p auf einen 100%er gemacht und nach 7 Stunden geduldigen Warten keine einzige Zeile gehabt.

Die PID läuft jetzt seit 260min auf 100%.
Als ich aus dem Urlaub zurückkam hatte ich 5 dieser Sorte, die sich brav die 100% teilen (jeder bekommt 20,000%)

@Alexander
kannst Du etwas daraus schlussfolgern??

Re: Apache saugt Prozessor-Last

Posted: 2004-01-05 19:36
by alexander newald
Gar keine Zeile?

Zumindest etwas wie

Code: Select all

strace -p 10067
Process 10067 attached - interrupt to quit
wait4(-1,  <unfinished ...>
sollte immer zu sehen sein.

Probier mal strace auf einen anderen sicher laufenden Prozess aus (zB. sleep 30 &) und dann auf die Pid von dem sleep

Re: Apache saugt Prozessor-Last

Posted: 2004-01-06 22:07
by routeserver
bei anderen PIDs ist das auch so. Bei anderen PIDs gibt es auch richtig viel Text. Aber bei den 100%er gibts gar nix. Auch nicht beim Control-C. Lediglich, wenn ich parallel irgendwann den Prozess kill, steht: +++ killed by SIGKILL +++


Vielleicht kennst Du noch einen anderen Weg.
Am liebsten würde ich ja den Verursacher bis zum ausgeführten Script/Programm zurückverfolgen. Aber außer schrittweises löschen habe ich keinen Ansatz zur Lösung. Ich konnte mal den toten Prozess selbst auflösen, nachdem ich in einer Nachtaktion der Reihe nach die Webaccount kurz gesperrt habe. Aber der mutmaßliche Account ist ein Riesenaccount, da kann ich jetzt nicht weiter testen.

Re: Apache saugt Prozessor-Last

Posted: 2004-01-07 03:05
by alexander newald
Das mit dem strace sollte eigendlich die Lösung bringen, da man dort genau sieht was der Prozess macht, also auch welche Dateien geöffnet sind etc.

Allerdings wundert es mich, dass gar keine Ausgabe kommt. Hast du einen besonderen Kernel?

Re: Apache saugt Prozessor-Last

Posted: 2004-01-08 20:22
by routeserver
nein, es ist eine Suse Standard Installation 8.1.

Re: Apache saugt Prozessor-Last

Posted: 2004-01-11 18:47
by cyberpet
Hallo,

bei gibt es übrigens das gleiche Problem auf einem Nicht-1&1-Root-Server.

Exakt das gleiche: Prozeß mit 100% und strace -p PID erzeugt absolut *keine* Ausgabe.

Trotz allem reagiert der Server aber auch unter Last immer noch recht fix. Nach einem Apache-Neustart ist dann auch alles wieder wie immer.

Komisch.

Exakt gleiches Problem

Posted: 2004-01-14 11:06
by marquinhos
Hallo Ihr,
habe exakt das gleiche Problem. Suse 8.1, XXL Root Server bei Puretec.
Infos unter
http://www.rootforum.org/forum/viewtopic.php?t=21675
Gruss
Markus

Auch getestet und auch keine Ausgabe

Posted: 2004-01-16 18:08
by marquinhos
Hallo Ihr,

wir hatten heute auch mal wieder solch einen 100% (bzw. 99%) Apache Prozess und haben Ihn untersucht. Wie gesagt Suse Linux 8.1.

Exakt das gleiche: Prozeß mit 100% und strace -p PID erzeugt absolut *keine* Ausgabe.

Wir haben jetzt einen cronjob eingerichtet, welcher den Server jede Nacht neu startet. Das ging schnell und ist bis jetzt unsere einzigste Lösung.

Wir können auch nicht sagen, wie und durch was der Prozess entstanden ist.

Gruss

Marquinhos