Am 16.05.2014 14:16, schrieb Lentes, Bernd:
Hi,
habe noch was interessantes rausgefunden:
top - 14:02:47 up 185 days, 20:36, 4 users, load average: 13.07, 16.20, 16.99 Tasks: 212 total, 1 running, 210 sleeping, 0 stopped, 1 zombie Cpu0 : 1.9%us, 1.9%sy, 0.0%ni, 96.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.0%us, 0.0%sy, 0.0%ni, 0.0%id,100.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 0.0%us, 0.0%sy, 0.0%ni, 0.0%id,100.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 0.0%us, 0.0%sy, 0.0%ni, 0.0%id,100.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu4 : 0.0%us, 0.0%sy, 0.3%ni, 0.0%id, 99.7%wa, 0.0%hi, 0.0%si, 0.0%st Cpu5 : 0.0%us, 0.0%sy, 0.0%ni, 0.0%id,100.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu6 : 0.0%us, 0.3%sy, 0.0%ni, 0.0%id, 99.7%wa, 0.0%hi, 0.0%si, 0.0%st Cpu7 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 72498M total, 32726M used, 39772M free, 249M buffers Swap: 2046M total, 4M used, 2042M free, 28916M cached
6 Kerne scheinen durch Warten auf IO total ausgebremst zu sein. Nur zwei Kerne sind haben nix zu tun. Wenn ich aber nun CPU-intensive Prozesse starte (cat /dev/urandom > /dev/null), dann verschwindet die (scheinbare) IO-Last:
top - 14:07:50 up 185 days, 20:41, 4 users, load average: 14.63, 14.13, 15.75 Tasks: 224 total, 9 running, 214 sleeping, 0 stopped, 1 zombie Cpu0 : 3.0%us, 0.3%sy, 0.0%ni, 96.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.0%us, 99.7%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st Cpu2 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu4 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu5 : 2.6%us, 1.3%sy, 0.0%ni, 0.0%id, 96.1%wa, 0.0%hi, 0.0%si, 0.0%st Cpu6 : 0.3%us, 0.3%sy, 0.0%ni, 0.0%id, 99.3%wa, 0.0%hi, 0.0%si, 0.0%st Cpu7 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 72498M total, 32727M used, 39770M free, 249M buffers Swap: 2046M total, 4M used, 2042M free, 28916M cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4515 root 20 0 4304 556 468 R 100 0.0 2:27.30 cat 4973 root 20 0 4304 556 468 R 100 0.0 2:10.26 cat 4978 root 20 0 4304 556 468 R 100 0.0 2:08.83 cat 4979 root 20 0 4304 556 468 R 100 0.0 2:07.63 cat 5783 root 20 0 4304 556 468 R 100 0.0 1:17.52 cat
Es laufen 5 cat-Prozesse, jeder nutzt einen Kern zu 100%. Es scheinen aber nur noch zwei Kerne auf IO zu warten (CPU 5 und 6). Vorher waren es 6 Kerne. Wäre da wirklich IO, müsste sich das doch zu dem cat-Befehl addieren, oder ? Es scheint aber zu verschwinden !
Starte ich noch mehr cat-Prozesse (insg. 7), "verschwindet" immer mehr IO-Last:
top - 14:12:47 up 185 days, 20:46, 4 users, load average: 16.14, 15.10, 15.71 Tasks: 224 total, 9 running, 214 sleeping, 0 stopped, 1 zombie Cpu0 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 3.3%us, 1.3%sy, 0.0%ni, 0.0%id, 95.4%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu4 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu5 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu6 : 0.3%us, 99.7%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu7 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 72498M total, 32728M used, 39770M free, 249M buffers Swap: 2046M total, 4M used, 2042M free, 28916M cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4978 root 20 0 4304 556 468 R 100 0.0 7:05.05 cat 4515 root 20 0 4304 556 468 R 100 0.0 7:23.26 cat 4973 root 20 0 4304 556 468 R 100 0.0 7:06.54 cat 4979 root 20 0 4304 556 468 R 100 0.0 7:03.89 cat 5783 root 20 0 4304 556 468 R 100 0.0 6:13.65 cat 11380 root 20 0 4304 556 468 R 100 0.0 0:36.48 cat 11379 root 20 0 4304 556 468 R 100 0.0 0:38.37 cat
Nur noch ein Kern (CPU 1) scheint mit Warten auf IO beschäftigt zu sein.
!?!
Bernd
Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess, Dr. Nikolaus Blum, Dr. Alfons Enhsen Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 Rgbx������ץ���r���҉碝��V������uﮞ˛���m�)z{.��+�I�zr�ק٢�+-��h�;����r���brG�J'��w�j)Z��^�ˬy� ޮ�^�ˬz�
Hi, ich kenn so ein Verhalten von meiner Datenbanksoftware (dataflex): wenn 4 user damit arbeiten, sind alle 4 Kerne erstmal voll ausgelastet und zwar mit Warten auf IO (klassischer Keyboard-input). Wenn es 8 sind, kriegt jeder 50%, wenn es 12 sind eben 33%, naja, es teilt sich natürlich nicht immer so linear auf... In der Praxis ist die Last allerdings nicht spürbar, d.h. weder die Nutzer der DB noch andere Programme leiden. Ich habe die Vermutung, dass sich durch die immer schnelleren CPUs die Interrupt-Abfragen für die Tastatur (beim Warten auf eine Eingabe) so beschleunigt haben, dass sie viel schneller nacheinander kommen und das diese Last verursacht. Ich habe im Menü der DB-Software eine Uhr mitlaufen und früher war es kein Problem einen Zyklus Zeitabfrage-Tastaturabfrage-Zeitabfrage-Tast... aufzubauen. Später (etwa seit AMD Athlon) musste ich eine Verzögerung einbauen, sonst geht die Prozessorlast (und nach einer Weile auch die Temperatur) hübsch hoch... Ich könnte mir vorstellen, dass auch andere interrup-basierte Dinge so ähnlich reagieren. cu jth -- www.teddylinx.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org