Eine Lanze für die Defragmentierung

Auch hier vergisst Du den Cache völlig. Deine Aussage wäre auch nur dann vollständig richtig, wenn eine festplatte eine einzige Scheibe mit hintereinanderliegenden Sektoren wäre. Da dies nicht der Fall ist, kommen unterbrechungen beim Lesefluss sowieso zustande.
Du solltest Dir vielleicht mal die Funktionsweise eines Caches anschauen.
Der Festplattencache enthält meist nur Daten die schoneinmal gelesen wurden zu erneuten Verwendung. Die Festplatte ist ja nicht so schlau als das Sie daß Filesystem analysieren könnte und Daten auf Vorrat in den Cache legen könnte.
Davon ab kann der Cache genau dieses auch nicht bieten. In der Regel liest man Daten von der Festplatte weil man sie braucht. Da die Festplatte bei Lesezugriffen von Daten meist langsamer ist als der Rest des verarbeitenden Systems werden die Daten wenn sie nicht schon im Cache liegen zwar in den Cache geschrieben und von dort wieder gelesen, aber diesen Vorgang kann man nicht wirklich als Caching betrachten, da die Daten ja auch im Cache nur so schnell angeboten werden können wie sie von der Platte geholt werden.
Ergo bringt der Cache bei Ständig wechselnden Daten die von der Platte geholt werden nichts.

Das heißt der Cache wird immer nur dann sinnvoll wenn man häufig auf den gleichen Inhalt der Festplatte zugreifen muss. Für die Startzeit eines Programmes ist der Cache also vollkommen irrelevant, jedoch für den Betrieb des Programms bringt er einiges, da davon auszugehen ist, daß ein Programm häufig auf die gleichen Dateien zugreifen muss.

Der schlaueste Cache den ich mir für eine Festplatte vorstellen könnte wäre einer, der den auf der Platte logisch nächsten block einliest und speichert.
Diese Technik würde natürlich nur bei einem Defragmentierten Datenträger Sinn machen.

Bei Festplatten entspricht der logisch nächte Block schon lange nicht mehr dem physikalisch nächten Block. Der logisch nächte Block ist in der Regel der den die Festplatte nach dem aktuellen Block am schnellsten erreichen kann. Er kann unter Umständen auch auf einem anderen Platter liegen, wenn das Geschwindigkeitsvorteile bringt.

Aus Sicht des Betriebssystems sind die Blöcke natürlich nicht wild über die Platte verstreut, sondern liegen einer nach dem Anderen. Das Betriebssystem braucht sich auch nicht dafür zu interessieren wie die Platte die Daten intern organisiert.

Der Wechsel zwischen zwei Plattern muss sich nicht zwangsläufig negativ auf die Leseperformance auswirken, da dieser sogar schneller sein kann, wenn der Kopf nicht neu positioniert werden muss als wenn man den Kopf innerhalb eines Platters über einen großen Bereich verschieben muss.

Um nochmal auf den Cache zurückzukommen. Ein enormer Vorteil eines Festplattencaches liegt darin, daß er schreibenden Zugriff cached. Das heisst, daß Schreibzugriffe verzögert werden, bis keine anderen Festplattenzugriffe mehr statt finden. Dadurch kann ein Schreibzugriff in sehrhoher Geschwindigkeit erfolgen und wird erst dann auf die Magnetscheibe gebannt wenn die Platte Zeit dafür hat.

Warum der Festplattencache bei lesendem Zugriff oft nichts bringt ist dessen doch eher bescheidene Grösse für dieses Unterfangen. Es gibt kaum Applikationen oder Mediendateien die im Festplattencache komplett platz finden würden.

Die einzige Instanz die hier Sinnvoll Cachen könnte ist das Betriebssystem. Das Betriebssystem wüsste natürlich, welche Dateien logisch zusammengehören, da es die Ordnerstruktur des Filesystems einsehen kann. Allerdings gilt natürlich auch hier, daß die Daten nicht schneller gelesen werden können als die Festplatte sie bietet. Ein Cache bringt also auch hier nur Vorteile bei Mehrfachverwendung der Daten.

Das Mehrfachverwendung von Daten in der Regel häufig vorkommt will ich hiermit ja garnicht bestreiten, aber es gibt durchaus Anwendungsfälle mit ständig wechselnden Daten, bzw. Datenmengen die nicht mehr gecached werden können, da sie die Cachegrösse überschreiten.

gruß Thomas
 
Zuletzt bearbeitet:
Sorry, aber das ist doch extrem an den Haaren herbeigezogen

Da ist ist nichts an den Haaren herbeigezogen, ein Mac mit wenig Arbeitsspeicher zeigt schon nach dem öffnen von wenigen Programmen ein Leistungseinbruch und verursacht beim auslagern starke Plattenzugriffe (So wurde es auch beschrieben).

Im übrigen äußert sich ein ausgelasteter Arbeitsspeicher mit anderen Symptomen.

Ich rede nicht von einem ausgelasteten Arbeitsspeicher sonder von zu wenig und das verursacht nun mal starke Plattenzugriffe durch Auslagerung.

Da der Rechner aber 4 GB hat, würde ich sagen das wohl das Defragmentieren geholfen hat. Das bricht allerdings auch für ein starkes löschen und installieren seitens des Anwenders (Installiere mal nicht alles was dir vor die Flinte kommt) :D
 
Zuletzt bearbeitet:
Du solltest Dir vielleicht mal die Funktionsweise eines Caches anschauen.
Der Festplattencache enthält meist nur Daten die schoneinmal gelesen wurden zu erneuten Verwendung. Die Festplatte ist ja nicht so schlau als das Sie daß Filesystem analysieren könnte und Daten auf Vorrat in den Cache legen könnte.

Davon ab kann der Cache genau dieses auch nicht bieten. In der Regel liest man Daten von der Festplatte weil man sie braucht. Da die Festplatte bei Lesezugriffen von Daten meist langsamer ist als der Rest des verarbeitenden Systems werden die Daten wenn sie nicht schon im Cache liegen zwar in den Cache geschrieben und von dort wieder gelesen, aber diesen Vorgang kann man nicht wirklich als Caching betrachten, da die Daten ja auch im Cache nur so schnell angeboten werden können wie sie von der Platte geholt werden.
Ergo bringt der Cache bei Ständig wechselnden Daten die von der Platte geholt werden nichts.

Das stimmt - aber das Lesen von unbekannten Dateien findet eigentlich nur beim Start von Programmen statt. Deswegen habe ich ja auch geschrieben, dass ich ihm glaube, dass er den Eindruck hat, dass sein System jetzt schneller ist. Nur: wer die Geschwindigkeit seines Systems anhand der Programmstarts ermittelt, der braucht gar kein schnelles System.

Die meisten Operation während der Arbeit mit einem Programm finden auf bereits gelesenen Daten statt. Ich mache mit meinen Rechner relativ viel Musikproduktion. Heute ist es üblich, dass Softwareinstrumente Audiosamples direkt von der Festplatte streamen (um genau zu sein haben sie den ersten teil im Arbeitsspeicher und streamen den Rest). Früher war das ein großes Problem - heutzutage gibt es da selbst mit einer jahrelang nicht defragmentierten Festplatte keinerlei Audioaussetzer mehr.

Der schlaueste Cache den ich mir für eine Festplatte vorstellen könnte wäre einer, der den auf der Platte logisch nächsten block einliest und speichert.
Diese Technik würde natürlich nur bei einem Defragmentierten Datenträger Sinn machen.

Aber genau diese Technik würde für das WAHRE Arbeiten mit einem programm wenig Sinn machen, sondern nur für den Programmstart.

Mit dem Rest Deiner Ausführungen stimme ich vollkommen überein.

Gruß,
jens
 
Da ist ist nichts an den Haaren herbeigezogen, ein Mac mit wenig Arbeitsspeicher zeigt schon nach dem öffnen von wenigen Programmen ein Leistungseinbruch und verursacht beim auslagern starke Plattenzugriffe (So wurde es auch beschrieben).

Habe ich das jemals bestritten? Dass Arbeitsspeicher einen Rechner schnell macht ist unbestritten, nur im vorliegenden Fall war das meiner Ansicht nach an den Haaren herbeigezogen.
 
Und übrigens, dass mir keiner auf die Idee kommt, seine SSD zu "defragmentieren" :)
Erstens verringert es die Lebensdauer der SSD und zweitens bringt es keinen Performance Vorteil.

Wieso führt Defragmentieren einer SSD zu einer kürzeren Lebensdauer?
 
weil ssd platten nur eine bestimmte anzahl schreibvorgänge pro "block" verkraften, dann geht er kaputt und wird als defekt markiert.

wenn du defragmentierst erzeugst du unnötige schreibvorgänge -> kürzere lebensdauer

und unnötig ist das defragmentieren bei ssd, weil die keine mechanischen bauteile haben die durch fragmentierte dateien langsamer werden könnten.
 
Achso, von daher weht der Wind. Ok, so gesehen logisch.
 
Ich frage mich gerade was mit dem Inhalt des Festplattencaches in meinem MacBook passiert wenn ich bei laufenden Programmen das MacBook einfach zu klappe?

So weit ich weiß, ist der Cachespeicher einer Festplatte nur eine sehr schnelle Form von RAM-Speicher, der bei Abschalten des Stroms seinen Inhalt verliert.
Wäre es so, müsste beim Aufklappen des MacBook der Festplattencache leer sein und alles was sich darin befunden und wieder gebraucht würde neu geladen werden müssen.
Liege ich da richtig?
 
nein, wenn du es zuklappst wird erst der inhalt erst auf die festplatte gespeichert und dann der ruhezustand eingeschaltet.
 
Ja, schon klar.
Aber was passiert nach dem der Inhalt auf die Platte geschrieben wurde? Wird dann die Stromversorgung des Cachespeichers abgeschaltet und somit sowohl gerade geschriebene als auch zuletzt gelesene Inhalte gelöscht?
Das würde bedeuten, dass der Cachespeicher erst wieder mit den Daten der letzten Nutzung gefüllt werden müsste. Das kann aber nicht sofort passieren, da zum Wiederanlauf des MacBook ja auch erst mal andere, zum Ruhezustand auf die Festplatte gespeicherte, Daten in das MacBook gelesen würden.
 
es geht dir um den festplattencache?

der ist imho unwichtig, da alle schreiboperationen erst beendet werden.
beim aufwachen wird er wieder gefüllt.

man muss hier auch zwischen STR (Suspend To-RAM) und STD (Suspend To-Disk) unterscheiden.
beim STR wird selbst der RAM weiterhin mit Strom versorgt.
beim STD wird der RAM-inhalt auf der festplatte gespeichert und der rechner komplett ausgeschaltet.

http://de.wikipedia.org/wiki/Ruhezustand


das ist allerdings jetzt schon ganz schön off topic...
 
Ok...Ich will das auch mal nicht weiter führen. War nur so ein Gedanke der mir gerade kam.

Danke aber für die Erläuterungen!

Gruß aus Toulouse,

Mario
 
Zurück
Oben Unten