Hallo, Leute!
Im Büro haben wir einen Server. Der ist nagelneu installiert (~ 3 Wochen) und, meiner Meinung nach, schon stark ausgerüstet (CPU Intel i7-2600K 3.40GHz, 16GB RAM, 3 Platten in RAID5 mit einem 3Ware 9650SE Controller). Die Hardware ist auch neu (CPU und RAM in April gekauft, Controller, Platten und Mainboard vor 3 Wochen). Auf dem System läuft Ubuntu Server 10.04.
Das Problem ist, daß manchmal (leider zufälligerweise) der Load auf dem Server steigt und ich verstehe nicht warum.
Ich vermute langsam, daß irgendein Komponente (RAM? Controller? Festplatte?) eine Macke hat, und das ganze System langsam macht.
Es ist letzte Woche schon passiert, dann musste ich den Server aus anderen Gründen neustarten und dann war einige Tage Ruhe. Seit gestern ist es wieder kaum nutzbar, und die Kollege auf Arbeit sind natürlich genervt.
Ich könnte das System neustarten, vielleicht hilft es wieder, es ist aber keine Lösung.
Leider habe ich keine Ahnung, wie ich das Problem eingrenzen kann.
Hat jemand eine Idee?
Danke Luca Bertoncello (lucabert@lucabert.de)
Hallo Luca!
Am 21. November 2012 08:41 schrieb Luca Bertoncello lucabert@lucabert.de:
Leider habe ich keine Ahnung, wie ich das Problem eingrenzen kann.
Hat jemand eine Idee?
Was sagen denn die üblichen Auslastungs-Anzeige-Tools?
Hast du eine historische Aufzeichnung diverser Last-Messwerte? Falls nicht: einrichten.
morphium morphium@morphium.info schrieb:
Was sagen denn die üblichen Auslastungs-Anzeige-Tools?
Meinst du top? Naja, Load zwischen 4 und 6... Auf 8 Cores ist gar nichts... Aber es ist trotzdem sehr langsam...
Ich habe inzwischen von andere ML den Hinweis gekriegt, hdparm zu starten. Hier was ich kriege:
root@skynet:~# hdparm -tT /dev/sdb
/dev/sdb: Timing cached reads: 9750 MB in 2.00 seconds = 4878.08 MB/sec Timing buffered disk reads: 4 MB in 3.70 seconds = 1.08 MB/sec
Unmöglich... Warum ist die Festplatte so langsam? Der Controller ist eigentlich sehr gut, und ich habe es mehrmals benutzt bisher ohne Probleme...
Ideen?
Danke Luca Bertoncello (lucabert@lucabert.de)
Am 21. November 2012 10:38 schrieb Luca Bertoncello lucabert@lucabert.de:
morphium morphium@morphium.info schrieb:
Was sagen denn die üblichen Auslastungs-Anzeige-Tools?
Meinst du top?
Ja, z.B. - da gibt es auch einen Wert "wa", bei wieviel % ist der denn?
Es gibt z.B. auch iotop oder iostat - und wie gesagt, auch ein historischer Graph über den IO-Wait (wa) wäre sehr sinnvoll.
Viele Grüße
morphium morphium@morphium.info schrieb:
Ja, z.B. - da gibt es auch einen Wert "wa", bei wieviel % ist der denn?
root@skynet:~# top top - 11:13:24 up 4 days, 22:59, 3 users, load average: 3.19, 3.13, 3.01 Tasks: 323 total, 2 running, 320 sleeping, 0 stopped, 1 zombie Cpu0 : 2.6%us, 2.0%sy, 0.3%ni, 39.9%id, 55.1%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.0%us, 0.9%sy, 0.6%ni, 66.7%id, 31.8%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 0.0%us, 0.3%sy, 0.7%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 0.0%us, 1.0%sy, 0.0%ni, 98.7%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st Cpu4 : 4.3%us, 3.0%sy, 0.7%ni, 33.9%id, 58.2%wa, 0.0%hi, 0.0%si, 0.0%st Cpu5 : 0.3%us, 1.6%sy, 1.3%ni, 96.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu6 : 0.3%us, 1.0%sy, 1.7%ni, 96.6%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st Cpu7 : 1.9%us, 1.3%sy, 1.6%ni, 94.8%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 16445440k total, 16374168k used, 71272k free, 303896k buffers Swap: 3903480k total, 0k used, 3903480k free, 15495124k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 19896 root 20 0 35552 3140 1656 S 7 0.0 63:57.75 bacula-fd 467 root 20 0 0 0 0 S 4 0.0 31:25.48 kcryptd 19935 bacula 20 0 59840 2276 1336 S 2 0.0 7:08.30 bacula-sd 7740 root 20 0 2784 1348 876 R 1 0.0 0:23.65 top 1 root 20 0 2828 1764 1232 S 0 0.0 0:20.19 init 2330 root 20 0 45428 1024 696 S 0 0.0 0:28.41 apcupsd 8300 www-data 20 0 46880 6572 1376 S 0 0.0 0:00.29 apache2 22561 nagios 25 5 19912 6228 2760 S 0 0.0 1:24.24 nagios3 31600 root 20 0 0 0 0 S 0 0.0 0:38.00 kjournald 2 root 20 0 0 0 0 S 0 0.0 0:00.01 kthreadd 3 root RT 0 0 0 0 S 0 0.0 0:00.08 migration/0 4 root 20 0 0 0 0 S 0 0.0 0:01.03 ksoftirqd/0 5 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/0 6 root RT 0 0 0 0 S 0 0.0 0:00.11 migration/1 7 root 20 0 0 0 0 S 0 0.0 0:00.84 ksoftirqd/1 8 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/1 9 root RT 0 0 0 0 S 0 0.0 0:00.09 migration/2 10 root 20 0 0 0 0 S 0 0.0 0:00.48 ksoftirqd/2 11 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/2 12 root RT 0 0 0 0 S 0 0.0 0:00.10 migration/3 13 root 20 0 0 0 0 S 0 0.0 0:00.26 ksoftirqd/3 14 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/3 15 root RT 0 0 0 0 S 0 0.0 0:00.76 migration/4 16 root 20 0 0 0 0 S 0 0.0 0:00.81 ksoftirqd/4 17 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/4 18 root RT 0 0 0 0 S 0 0.0 0:00.96 migration/5 19 root 20 0 0 0 0 S 0 0.0 0:00.89 ksoftirqd/5 20 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/5 21 root RT 0 0 0 0 S 0 0.0 0:00.62 migration/6 22 root 20 0 0 0 0 S 0 0.0 0:00.87 ksoftirqd/6 23 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/6 24 root RT 0 0 0 0 S 0 0.0 0:00.93 migration/7 25 root 20 0 0 0 0 S 0 0.0 1:59.06 ksoftirqd/7 26 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/7 27 root 20 0 0 0 0 S 0 0.0 0:04.80 events/0 28 root 20 0 0 0 0 S 0 0.0 0:01.38 events/1 29 root 20 0 0 0 0 S 0 0.0 0:01.47 events/2 30 root 20 0 0 0 0 S 0 0.0 0:01.28 events/3 31 root 20 0 0 0 0 S 0 0.0 0:01.48 events/4 32 root 20 0 0 0 0 S 0 0.0 0:01.26 events/5 33 root 20 0 0 0 0 S 0 0.0 0:01.90 events/6 34 root 20 0 0 0 0 S 0 0.0 0:24.84 events/7 35 root 20 0 0 0 0 S 0 0.0 0:00.00 cpuset 36 root 20 0 0 0 0 S 0 0.0 0:00.00 khelper
Es gibt z.B. auch iotop oder iostat - und wie gesagt, auch ein historischer Graph über den IO-Wait (wa) wäre sehr sinnvoll.
iotop gibt mir eine riesige Liste zurück... Soll ich alles posten? Oder was genau suchen... Das ist der Anfang:
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND 1328 be/3 root 0.00 B/s 612.70 K/s ?unavailable? [jbd2/dm-4-8] 1 be/4 root 0.00 B/s 0.00 B/s ?unavailable? init 2 be/4 root 0.00 B/s 0.00 B/s ?unavailable? [kthreadd] 3 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [migration/0] 4 be/4 root 0.00 B/s 0.00 B/s ?unavailable? [ksoftirqd/0] 5 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [watchdog/0] 6 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [migration/1] 7 be/4 root 0.00 B/s 0.00 B/s ?unavailable? [ksoftirqd/1] 8 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [watchdog/1] 9 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [migration/2] 10 be/4 root 0.00 B/s 0.00 B/s ?unavailable? [ksoftirqd/2] 11 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [watchdog/2] 12 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [migration/3] 13 be/4 root 0.00 B/s 0.00 B/s ?unavailable? [ksoftirqd/3] 14 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [watchdog/3] 15 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [migration/4] 16 be/4 root 0.00 B/s 0.00 B/s ?unavailable? [ksoftirqd/4] 17 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [watchdog/4] 18 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [migration/5] 19 be/4 root 0.00 B/s 0.00 B/s ?unavailable? [ksoftirqd/5] 20 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [watchdog/5] 21 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [migration/6] 22 be/4 root 0.00 B/s 0.00 B/s ?unavailable? [ksoftirqd/6] 23 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [watchdog/6] 24 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [migration/7] 25 be/4 root 0.00 B/s 0.00 B/s ?unavailable? [ksoftirqd/7] 26 rt/4 root 0.00 B/s 0.00 B/s ?unavailable? [watchdog/7]
iostat gibt dieses:
Linux 2.6.32-45-generic-pae (skynet) 21.11.2012 _i686_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle 0,28 0,07 0,21 6,33 0,00 93,12
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sdb 11,54 454,45 147,34 194874308 63180256 dm-0 22,61 454,20 147,34 194764426 63180136 dm-1 0,20 1,02 1,18 438002 504264 dm-2 4,90 92,26 32,75 39563648 14043352 dm-3 1,98 224,62 5,11 96317432 2189808 dm-4 0,20 3,89 0,22 1669874 95088 dm-5 0,01 0,19 0,00 79810 480 dm-6 8,90 2,49 70,64 1067832 30290080 dm-7 0,86 1,94 6,27 833568 2687776 dm-8 2,07 127,74 4,55 54776712 1950896 dm-9 0,01 0,02 0,04 7504 16904 dm-10 0,00 0,00 0,00 992 0 dm-11 3,04 0,01 24,31 4818 10425120 dm-12 0,28 0,00 2,28 1400 976152 dm-13 0,00 0,00 0,00 1314 224 sda 9,36 2,07 525,89 885746 225507248
Danke Luca Bertoncello (lucabert@lucabert.de)
morphium morphium@morphium.info schrieb:
Es gibt z.B. auch iotop oder iostat - und wie gesagt, auch ein historischer Graph über den IO-Wait (wa) wäre sehr sinnvoll.
Ich habe was komische gefunden, und zwar:
root@skynet:~# tw_cli /c0 show dpmstat type=inst Drive Performance Monitor Configuration for /c0 ... Performance Monitor: ON Version: 1 Max commands for averaging: 100 Max latency commands to save: 10 Requested data: Instantaneous Drive Statistics
Queue Xfer Resp Port Status Unit Depth IOPs Rate(MB/s) Time(ms) ------------------------------------------------------------------------ p0 OK u0 3 14 0.682 128851 p1 OK u0 3 13 0.712 85901 p2 OK u0 3 12 0.632 85901 p3 OK u1 0 0 0.000 0
Ich denke nicht, daß es normal ist... Hat jemand eine Ahnung, wie ich prüfen kann, ob es das Kabel ist, oder die Festplatten?
Danke Luca Bertoncello (lucabert@lucabert.de)
Hallo!
Am Mittwoch 21 November 2012 schrieb Luca Bertoncello:
Timing cached reads: 9750 MB in 2.00 seconds = 4878.08 MB/sec Timing buffered disk reads: 4 MB in 3.70 seconds = 1.08 MB/sec
Unmöglich... Warum ist die Festplatte so langsam?
Gute Frage! Zum Vergleich mal meine Werte: HP ProLiant ML 350G5 mit Raid 5 (drei Platten a 300GB SAS):
Majestix:~ # hdparm -tT /dev/cciss/c0d0 /dev/cciss/c0d0: Timing cached reads: 11104 MB in 2.00 seconds = 5557.95 MB/sec Timing buffered disk reads: 1132 MB in 3.01 seconds = 376.30 MB/sec
RAID bus controller: Hewlett-Packard Company Smart Array E200i (SAS Controller)
Ich habe in der Schule ähnliche Probleme, weil ich eine SATA-Platte (Original-Server-Platte Fujitsu) eingesetzt habe. Die bringt irgendwo Zugriffslatenzen. Wenn die Platte einmal "angelaufen" ist, also Zugriffe erfolgt sind, funktioniert alles. Hat die Platte aber mal eine Stunde Ruhe gehabt, sind Zugriffe (lesend wie schreibend) extrem lahm, brechen teilweise sogar ab (selbst wenn man nur an der Console per Editor eine .conf-Datei bearbeitet; mc kann dann bis zu 5 Minuten hängen bleiben. Eine genaue Erklärung habe ich noch nicht - aber auch nicht gesucht.
Hauptfrage daher: Was sind das für Platten? SAS oder SATA?
Gruss Reiner
Hi Luca,
Luca Bertoncello lucabert@lucabert.de wrote:
Das Problem ist, daß manchmal (leider zufälligerweise) der Load auf dem Server steigt und ich verstehe nicht warum.
Ich vermute langsam, daß irgendein Komponente (RAM? Controller? Festplatte?) eine Macke hat, und das ganze System langsam macht.
Siehst du bei dmesg | grep sda irgendwelche Fehler?
Du kannst auch mal einen 24h Test mittels vmstat 1200 72 > /tmp/vmstat.log starten und dann vmstat.log untersuchen.
Viele Grüße, Martin
lug-dd@mailman.schlittermann.de