Xukashi
kleine Vorgechichte:
Letztes Jahr im Dezember haben wir in unserem Clan uns nen neuen Root-Server gemietet. Wie es halt so is, mehr Power, mehr Speicher usw. Problem ist (war) nur, daß die Kiste unspielbar war, lags ohne Ende. So nach einigem hin und her wie Homepage runterschmeißen, Gameserver auch und das ganze dann wieder rauf, kamen wir einfach nicht weiter. Aufgefallen ist uns aber das sobalt bei uns jemand auf der HP war und z.B. sich duchs Forum klickte, daß dann die Lags auftraten. Also den Support kontaktiert, der hat dann auch nochmal alles geprüft und jetzt kommts, unser Kernel lief nur mit 250hz. Hmm und mal am Kopf gekratzt, der Kernel macht was? 250hz hä was wollen die jetzt von einem? Gut dann geht man mal zu Goo*** und mal sehen was das einem ausspuckt. Raus kam dann dabei das der 2.4 Kernel noch mit 100hz lief und das ab dem Kernel 2.6.13 die Erweiterung auf 1000hz kam. Ab dem Kernel kann mann das dann auch peer Schalter einstellen, 100, 250, 1000hz. Wer sich jetzt fragt was das ganze jetzt auf sich hat, (es kann natürlich auch sein das ich das nur nicht wusste) daß hat irgenwie was mit der Reaktionszeit des Systems zu tun. Fazit war, wir haben zwar genug Power aber versuchten, ich sags mal so "Den Tennisball durchn Gartenschlauch zu drücken". Jetzt ist der Kernel aufm Server neu compiliert mit 1000hz und alles läuft bestens.
Jetzt zu meiner Frage. Ich hab natürlich auch gleich mal nachgeschaut was der Archkernel so bringt und siehe da, 250hz. Die frage ist jetzt Wieso? Ich hab dazu dieses gefunden:
Im Kernel 2.6.13 wurde die Frequenz des internen Timers modifiziert: Beim Kernel 2.4 lief sie noch mit 100 Hertz, beim 2.6er zuletzt mit 1000 Hertz, um ebenfalls bessere Antwort-, und Reaktionszeiten im Desktopbetrieb zu ermöglichen. Nun lässt sich der Wert über die Kernel-Konfiguration anpassen, voreingestellt sind 250 Hertz.
Wenn das System durch mehr Hz ne besser Reaktionszeit bekommt, warum ist dann der Archkernel auf 250hz eingestellt, wenn Arch doch eh für I686 optimiert ist und auf Performance ausgelegt ist?
1000 HZ is the preferred choice for desktop systems and other
systems requiring fast interactive responses to events.
Das hab ich auch noch gefunden und wen es interessiert, der Befehl um nach zu schauen auf wieviel Hz der Kernel läuft ist:
zgrep HZ /proc/config.gz
So wer mir n bischen darüber erzählen kann, wieso, weshalb, warum das so ist, ich würde mich über aufklärung echt freuen. Also jetzt nicht nur was Arch betrifft, sonder was es überhaupt damit auf sich hat.
Bis denn dann: Saber Rider
[gelöscht]
Ich kann Dir zwar nicht sagen, warum es so ist, aber mich nervts auch.
Rosegarden meckert immer ("System timer resolution is too low") und bei Band in a Box wackelt das Tempo. Gerade bei einer Distribution, welche wohl zu über 95% als Desktop Verwendung findet und nicht zuletzt durch Geschwindigkeit beeindrucken will (und es ansonsten auch tut 😉 ), sollte CONFIG_HZ_1000 meiner Meinung nach default sein. (Bis mir Jemand einen wirklich guten Grund nennt, der dagegen spricht)
Pierre
Ich glaube die 250Hz wurden vom Kernel-Team damals eingeführt, damit der Kernel auf älteren Rechnern besser läuft. Ich bin wirklich kein Experte, aber soviel ich weiß ist bei 1000Hz die Reaktionszeit besser, jedoch der Overhead größer und der Durchsatz geringer.
[gelöscht]
Soweit ich es verstehe ist es folgendes:
Die Hz-Angabe sagt aus, wieviele Interrupts es gibt. Der Kernel kann immer nur bei einem Interrupt auf Ereignisse reagieren. Bei 250 Hz gibt es also 250 Interrupts pro Sekunde. Maximale Reaktionszeit liegt also bei 4 ms. Bei 1000 liegt sie nur noch bei 1 ms. Das System reagiert also bei höheren Werten einfach schneller. Aber ein Interrupts bedeutet auch, das er Zeit braucht. Je mehr Interrupts pro Sekunde ausgeführt werden, desto mehr Rechenzeit wird also auch für diese verbraten. D.h. steht Anwendungen nicht zur Verfügung.
Es geht also um einen Kompromiss zwischen Reaktionszeit und Ausnutzung der verfügbaren Rechenleistung.
Welcher Wert gut ist, hängt also von den laufenden Anwendungen ab.