Page 1 of 1

Hohe Last durch find Prozesse?

Posted: 2010-08-06 13:56
by xor
Hallo,

bin neu hier und hab gleich mal ein Problem, welches mich seit einiger Zeit beschaeftigt. Ich hab einen Debian Server auf dem mehrere Ruby on Rails Applikationen unter Apache/Passenger laufen. Das war auch nie ein Problem und der Load war immer zwischen 0 und max. 2. Nun hab ich seit Tagen einen Load von fast 10 und wundere mich warum.

Ich hab unter http://www.joomlaperformance.com/articl ... _5_16.html gesehen, dass man mit

Code: Select all

top -b -i -n 20 >> ./top_procs
Prozesse finden kann, die hohen Load verursachen.

Bei mir spuckt das folgendes aus:

Code: Select all

top - 13:37:52 up 48 days, 16:41,  1 user,  load average: 9.03, 8.65, 8.58
Tasks: 158 total,   1 running, 157 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.4%us,  1.8%sy,  0.2%ni, 45.3%id, 49.2%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   4120744k total,  2424372k used,  1696372k free,   660188k buffers
Swap:  2104440k total,        0k used,  2104440k free,  1089188k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
12483 nobody    26  10  2576 1156  856 D    2  0.0   3:55.48 find
20898 wwwdocs   15   0  2384 1076  800 R    2  0.0   0:00.02 top
30650 nobody    26  10  2576 1156  856 D    0  0.0   5:45.85 find
 9795 root      10  -5     0    0    0 D    0  0.0   3:36.77 md1_resync
27819 nobody    26  10  2576 1152  856 D    0  0.0   3:04.82 find
 3873 nobody    26  10  2576 1152  856 D    0  0.0   2:23.44 find
15926 nobody    26  10  2572 1152  856 D    0  0.0   1:37.23 find
24204 nobody    26  10  2572 1152  856 D    0  0.0   0:53.76 find
 2530 nobody    26  10  2576 1156  856 D    0  0.0   0:10.79 find
Was ich komisch finde ist, dass dort so viele find Prozesse dabei sind. Hat jemand von euch eine Idee woran das liegen koennte?

Vielen dank und gruss
Daniel :-?

Re: Hohe Last durch find Prozesse?

Posted: 2010-08-06 14:20
by dotme

Code: Select all

9795 root      10  -5     0    0    0 D    0  0.0   3:36.77 md1_resync
Das sollte man mal nach /proc/mdstat gucken und schauen ob das Software-RAID überhaupt wieder in Ordnung kommt.

Re: Hohe Last durch find Prozesse?

Posted: 2010-08-06 14:32
by xor
dotme wrote:

Code: Select all

9795 root      10  -5     0    0    0 D    0  0.0   3:36.77 md1_resync
Das sollte man mal nach /proc/mdstat gucken und schauen ob das Software-RAID überhaupt wieder in Ordnung kommt.
Hmm. Ich wusste gar nicht, dass es sowas gibt. Ich hab mal rein geschaut und dort erscheint...

Code: Select all

md1 : active raid1 sda2[0] sdb2[1]
      486279424 blocks [2/2] [UU]
      [=======>.............]  resync = 39.9% (194064960/486279424) finish=12640.3min speed=384K/sec
..wobei die prozentuale resync Angabe langsam ansteigt. Aber die finish Anzahl macht mir Angst. dauert das nun 9 Tage bis das fertig ist? und wie kann es sein, dass das so lange dauert und vorher nie vorgekommen ist?

Re: Hohe Last durch find Prozesse?

Posted: 2010-08-06 14:33
by xor
matzewe01 wrote: Ich denke Da stirbt entweder eine Platte oder treibt "jemand anderes" grosse Fileoperationen.
* jemand anderes -> Irgendein Dienst.
OK, das koennte ja wirklich dieses rsync sein, oder?

Re: Hohe Last durch find Prozesse?

Posted: 2010-08-06 14:53
by Joe User
xor wrote:Aber die finish Anzahl macht mir Angst. dauert das nun 9 Tage bis das fertig ist?
Willkommen im Zeitalter der völlig überdimensionierten Festplatten ;)
xor wrote:und wie kann es sein, dass das so lange dauert und vorher nie vorgekommen ist?
Es ginge etwas schneller, wenn die Kiste Ruhe hätte, also per Rescue-System. Vorkommen tut soetwas bei defekten Filesystemen oder Festplatten.

Re: Hohe Last durch find Prozesse?

Posted: 2010-08-06 14:59
by dotme
Um die Synchronisation zu beschleunigen solltest Du die Aufrufe von find nach Möglichkeit beenden und sicherstellen das nicht ständig neue z.B. per Cron erfolgen.

Über die Datei "/sys/devices/virtual/block/md1/md/sync_speed_min" könntest Du der Synchronisation einen höheren Mindestdurchsatz spendieren. Näheres dazu in `man 4 md`.

Neben den erwähnten Logs ist ein Blick in die Ausgabe von `dmesg` auch sinnvoll.

Re: Hohe Last durch find Prozesse?

Posted: 2010-08-06 15:20
by xor
dotme wrote:Um die Synchronisation zu beschleunigen solltest Du die Aufrufe von find nach Möglichkeit beenden und sicherstellen das nicht ständig neue z.B. per Cron erfolgen.
Ich hab alle find mal gekilled. Das hat anscheinend einen feinen Boost gebracht:

Code: Select all

Personalities : [raid0] [raid1]
md1 : active raid1 sda2[0] sdb2[1]
      486279424 blocks [2/2] [UU]
      [========>............]  resync = 41.3% (200958976/486279424) finish=75.3min speed=63120K/sec
Vielen Dank erstmal. Ich werde aber mal schauen, wieso das so gekommen ist.

Re: Hohe Last durch find Prozesse?

Posted: 2010-08-06 15:21
by xor
PS: Der Load ist auch runter und ist nun auf 1.2

:-D