PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : apache && load average steigt bis zum system crash



chefkoch-2002
07.07.03, 10:24
moin,
ich habe jetzt seit ca. einem monat das problem, dass mein system nach ca 3 tagen produktiven einsatz hängt.

der auslöser ist der httpd apache. der ablauf ist folgender:
1. ich starte den apache
2. ich warte zwei tage...
3. mein load avg. steht auf 20
4. ich muß den apache neu starten, um mein system nicht zu verlieren, dann geht es wieder mit 1. los.

ich verstehe das einfach nicht. das darf doch nicht passieren oder? ich habe auch keine ahnung, wo ich ansetzten soll. ich habe schon so viele einstellungen ausprobiert. *help*

meine top prozessliste sieht wie folgt aus:

10:21am up 23 days, 18:19, 1 user, load average: 20.17, 20.25, 20.28
80 processes: 56 sleeping, 23 running, 1 zombie, 0 stopped
CPU states: 99.2% user, 0.7% system, 0.0% nice, 0.0% idle
Mem: 247624K av, 212944K used, 34680K free, 0K shrd, 47220K buff
Swap: 512024K av, 150708K used, 361316K free 34164K cached
Unknown command `' -- hit `h' for help
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
16117 wwwrun 25 0 16624 8964 3988 R 5.9 3.6 26:08 httpd
8316 wwwrun 25 0 13988 56 4 R 5.9 0.0 66:04 httpd
17131 wwwrun 25 0 14092 40 4 R 5.9 0.0 83:57 httpd
18745 wwwrun 25 0 14456 376 4 R 5.9 0.1 78:39 httpd
19758 wwwrun 25 0 15608 116 4 R 5.9 0.0 75:03 httpd
21004 wwwrun 25 0 16992 9964 2284 R 5.9 4.0 63:43 httpd
29131 wwwrun 25 0 14492 432 4 R 5.9 0.1 52:06 httpd
32278 wwwrun 25 0 16004 10M 2600 R 5.9 4.2 48:40 httpd
1025 wwwrun 25 0 18320 12M 4176 R 5.9 5.3 47:28 httpd
3764 wwwrun 25 0 17836 12M 4228 R 5.9 5.1 41:12 httpd
10530 wwwrun 25 0 17788 12M 4244 R 5.9 5.1 29:17 httpd
13914 wwwrun 25 0 17844 12M 4220 R 5.9 5.1 23:13 httpd
13325 wwwrun 25 0 15348 20 8 R 4.7 0.0 92:19 httpd
2539 wwwrun 25 0 15732 9020 3560 R 3.5 3.6 17:45 httpd
6187 wwwrun 25 0 14756 20 8 R 2.9 0.0 459:58 httpd
11058 wwwrun 25 0 14340 16 8 R 2.9 0.0 363:13 httpd
12578 wwwrun 25 0 15852 24 8 R 2.9 0.0 322:05 httpd
13346 wwwrun 25 0 14820 16 8 R 2.9 0.0 307:38 httpd
21833 wwwrun 25 0 15004 20 8 R 2.9 0.0 210:13 httpd
21892 wwwrun 25 0 15232 44 8 R 2.9 0.0 261:19 httpd
22608 wwwrun 16 0 0 0 0 Z 1.1 0.0 0:00 httpd <defunct>
22515 root 15 0 1012 1012 788 R 0.1 0.4 0:00 top
22602 wwwrun 15 0 8852 3016 2788 S 0.1 1.2 0:00 httpd
22607 wwwrun 16 0 8392 2420 2260 S 0.1 0.9 0:00 httpd

Pingu
07.07.03, 10:43
Original geschrieben von chefkoch-2002

PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
6187 wwwrun 25 0 14756 20 8 R 2.9 0.0 459:58 httpd
11058 wwwrun 25 0 14340 16 8 R 2.9 0.0 363:13 httpd
12578 wwwrun 25 0 15852 24 8 R 2.9 0.0 322:05 httpd
13346 wwwrun 25 0 14820 16 8 R 2.9 0.0 307:38 httpd
21833 wwwrun 25 0 15004 20 8 R 2.9 0.0 210:13 httpd
21892 wwwrun 25 0 15232 44 8 R 2.9 0.0 261:19 httpd
Da scheint wohl ein Script in eine Endlosschleife oder etwas ähnliches zu laufen. Ich würde einfach mal über die access.log oder auch die error.log versuchen herauszubekommen welches Script das sein könnte.

Ansonsten würde ich es vielleicht auch noch mal damit probieren: http://httpd.apache.org/docs/mod/core.html#rlimitcpu

Gruß

Pingu

chefkoch-2002
07.07.03, 11:46
wie könnte ich das script ausfindig machen? in der error_log habe ich desöfteren diese einträge gefunden:



[Mon Jul 7 09:44:23 2003] [notice] child pid 19738 exit signal Segmentation fault (11)
[Mon Jul 7 09:44:49 2003] [notice] child pid 20849 exit signal Segmentation fault (11)


sind die schlimm? das andere mit dem rlimitcpu habe ich schon probiert - ohne erfolg.

es muß doch eine möglichkeit geben, diese endlosprozesse richtig abzubrechen ohne das das system jemals in eine kritische situation kommt. wie machen das denn die großen provider wie puretec oder strato? die können sich ja auch nicht darauf verlassen, dass niemand eine endlosschleife bastelt

Pingu
07.07.03, 12:33
Naja es gäbe dann noch: http://httpd.apache.org/docs/mod/core.html#timeout

und zur Fehlersuche, es kann auch sein, daß in der error.log nix steht, weil es gar nicht erst zu einem Fehler gekommen ist.

Was ich auf festgestellt habe ist, daß der Apache gerne hängen bleibt wenn kein Speicherplatz (Platte) mehr da ist.

Pingu