2Sep

Warum beschleunigt das Leeren von Festplattenspeicher die Computer?

click fraud protection

Wenn Sie mehr über Computer und ihre Funktionsweise erfahren, stoßen Sie gelegentlich auf etwas, das keinen Sinn ergibt. In diesem Sinne beschleunigt tatsächlich das Leeren von Speicherplatz die Computer? Der heutige SuperUser Q & A Post hat die Antwort auf die Frage eines verwirrten Lesers.

Heutige Frage &Die Antwortsitzung kommt dank SuperUser, einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites, zu uns.

Screenshot mit freundlicher Genehmigung von Nchenga( Flickr).

Die Frage

SuperUser Leser Remi.b möchte wissen, warum das Leeren des Speicherplatzes einen Computer zu beschleunigen scheint:

Ich habe mir viele Videos angeschaut und verstehe jetzt, wie Computer ein bisschen besser funktionieren. Ich verstehe, was RAM ist, über flüchtigen und nichtflüchtigen Speicher und den Prozess des Tauschens. Ich verstehe auch, warum die Erhöhung von RAM einen Computer beschleunigt.

Was ich nicht verstehe, ist, warum die Bereinigung des Speicherplatzes einen Computer zu beschleunigen scheint. Beschleunigt es wirklich einen Computer? Wenn ja, warum tut es das?

instagram viewer

Hat es etwas damit zu tun, nach Speicherplatz zu suchen, um Dinge zu speichern oder Dinge zu verschieben, um einen ausreichend langen, durchgehenden Speicherplatz zu schaffen, um etwas zu speichern? Wie viel Speicherplatz sollte ich auf einer Festplatte frei lassen?

Warum scheint das Leeren von Speicherplatz einen Computer zu beschleunigen?

Der Antwort-

-SuperUser-Mitwirkende Jason C hat die Antwort für uns:

"Warum beschleunigt das Leeren von Festplattenspeicher die Computer?"

Das tut es nicht, zumindest nicht von allein. Das ist ein sehr verbreiteter Mythos. Der Grund, dass es ein häufiger Mythos ist, ist, weil das Auffüllen Ihrer Festplatte oft gleichzeitig mit anderen Dingen geschieht, die Ihren Computer ( A) traditionell verlangsamen könnten. SSD-Leistung neigt dazu, zu verschlechtern, wie sie füllen, aber das ist ein relativ neues Problem, einzigartig für SSDs, und ist nicht wirklich spürbar für gelegentliche Benutzer. Im Allgemeinen ist ein geringer freier Speicherplatz nur ein Ablenkungsmanöver.

Zum Beispiel, Dinge wie:

1. Dateifragmentierung. Dateifragmentierung ist ein Problem ( B) , aber der Mangel an freiem Speicherplatz, während definitiv einer von vielen Faktoren, ist nicht die einzige Ursache dafür. Hier einige wichtige Punkte:

  • Die Wahrscheinlichkeit, dass eine Datei fragmentiert wird, ist , nicht , bezogen auf die Menge an freiem Speicherplatz auf dem Laufwerk. Sie beziehen sich auf die Größe des größten zusammenhängenden freien Speicherplatzes auf dem Laufwerk( d. H. "Löcher" des freien Speicherplatzes), wobei die Menge an freiem Speicherplatz eine obere Grenze für bildet. Sie hängen auch damit zusammen, wie das Dateisystem die Dateizuordnung behandelt( mehr unter ). Betrachten Sie: Ein Laufwerk, das zu 95 Prozent mit dem gesamten freien Speicherplatz in einem einzelnen zusammenhängenden Block gefüllt ist, hat eine Wahrscheinlichkeit von 0%, eine neue Datei ( C) zu fragmentieren( und die Wahrscheinlichkeit einer Fragmentierung einer angehängten Datei ist unabhängig vom freien Speicherplatz)).Ein Laufwerk, das zu fünf Prozent voll ist, aber die Daten gleichmäßig über das Laufwerk verteilt, weist eine sehr hohe Fragmentierung auf.
  • Beachten Sie, dass sich die Dateifragmentierung nur auf die Leistung auswirkt, wenn auf die fragmentierten Dateien zugegriffen wird. Betrachten Sie: Sie haben ein nettes, defragmentiertes Laufwerk, das noch viele freie "Löcher" enthält. Ein häufiges Szenario. Alles läuft reibungslos. Irgendwann kommen Sie jedoch zu einem Punkt, an dem keine großen freien Blöcke mehr übrig sind. Sie laden einen riesigen Film herunter, die Datei wird stark fragmentiert. Dies verlangsamt Ihren Computer nicht. Alle Ihre Anwendungsdateien und solche, die vorher gut waren, werden nicht plötzlich fragmentiert. Dies kann dazu führen, dass der Film länger lädt( obwohl die typischen Bitraten für Filme im Vergleich zu Festplattenleseraten so niedrig sind, dass sie höchstwahrscheinlich nicht wahrgenommen werden) und die I / O-gebundene Leistung während des Ladens des Films beeinträchtigt wirdAnsonsten ändert sich nichts.
  • Obwohl die Dateifragmentierung ein Problem darstellt, werden die Auswirkungen oft durch Pufferung und Zwischenspeicherung auf Betriebssystem- und Hardwareebene gemildert. Verzögerte Schreibvorgänge, Read-ahead, Strategien wie der Prefetcher in Windows usw. helfen, die Auswirkungen der Fragmentierung zu reduzieren. Sie tatsächlich erhebliche Auswirkungen, bis die Fragmentierung wird schwerwiegend( ich würde sogar wagen zu sagen, dass, solange Ihre Auslagerungsdatei nicht fragmentiert ist, werden Sie wahrscheinlich nie bemerken).

2. Die Suchindexierung ist ein weiteres Beispiel. Angenommen, Sie haben die automatische Indizierung aktiviert und ein Betriebssystem, das dies nicht ordnungsgemäß verarbeitet. Wenn Sie mehr und mehr indexierbaren Inhalt auf Ihrem Computer speichern( Dokumente usw.), kann die Indizierung länger dauern und sich möglicherweise auf die wahrgenommene Geschwindigkeit Ihres Computers während der Ausführung auswirken, sowohl bei der E / A- als auch bei der CPU-Nutzung. Dies bezieht sich nicht auf den freien Speicherplatz, sondern auf die Menge an indexierbarem Inhalt, den Sie haben. Das Freigeben von freiem Speicherplatz geht jedoch einher mit dem Speichern von mehr Inhalt, daher wird eine falsche Verbindung erstellt.

3. Anti-Virus-Software( ähnlich dem Suchindex-Beispiel).Angenommen, Sie haben eine Antivirensoftware eingerichtet, um den Hintergrund des Laufwerks zu scannen. Da Sie mehr und mehr scanbare Inhalte haben, benötigt die Suche mehr E / A- und CPU-Ressourcen, was möglicherweise Ihre Arbeit beeinträchtigt. Dies hängt wiederum mit der Menge an scanbarem Inhalt zusammen, den Sie haben. Mehr Inhalt bedeutet oft weniger freien Speicherplatz, aber der Mangel an freiem Speicherplatz ist nicht die Ursache.

4. Installierte Software. Nehmen wir an, Sie haben eine Menge Software installiert, die beim Booten Ihres Computers geladen wird, was die Startzeiten verlangsamt. Diese Verlangsamung tritt auf, weil viel Software geladen wird. Installierte Software belegt jedoch Speicherplatz auf der Festplatte. Daher verringert sich der freie Speicherplatz der Festplatte zur selben Zeit, zu der dies geschieht, und wieder kann eine falsche Verbindung leicht hergestellt werden.

5. Viele andere Beispiele in dieser Richtung, die zusammengenommen als erscheinen lassen, um den Mangel an freiem Speicherplatz mit geringerer Leistung in Verbindung zu bringen.

Das obige zeigt einen weiteren Grund, warum dies ein so verbreiteter Mythos ist: Der Mangel an freiem Speicherplatz ist nicht direkt eine Ursache für die Verlangsamung, das Deinstallieren verschiedener Anwendungen, das Entfernen von indexiertem oder gescanntem Inhalt usw. manchmal( aber nicht immer; außerhalb des Bereichsdieser Antwort) erhöht die Leistung aus Gründen, die nicht mit dem verbleibenden freien Speicherplatz zusammenhängen. Das gibt natürlich auch Festplattenspeicher frei. Daher kann wieder eine scheinbare( aber falsche) Verbindung zwischen "mehr freiem Speicherplatz" und einem "schnelleren Computer" hergestellt werden.

Betrachten Sie: Wenn Sie eine Maschine aufgrund vieler installierter Software usw. langsam laufen lassen, klonen Sie Ihre Festplatte( genau) auf eine größere Festplatte, erweitern Sie dann Ihre Partitionen, um mehr freien Speicherplatz zu erhalten, die Maschine wird nicht magisch beschleunigenoben. Die gleiche Software wird geladen, dieselben Dateien werden immer noch auf die gleiche Art und Weise fragmentiert, derselbe Suchindex läuft noch, nichts ändert sich, obwohl mehr freier Speicherplatz vorhanden ist.

"Hat es etwas damit zu tun, nach Speicherplatz zu suchen, um Dinge zu speichern?"

Nein. Tut es nicht. Es gibt zwei sehr wichtige Dinge, die es wert sind, hier erwähnt zu werden:

1. Ihre Festplatte sucht nicht nach Orten, an die Sie Dinge legen können. Deine Festplatte ist dumm. Es ist nichts. Es handelt sich um einen großen Block adressierten Speichers, der blind die Dinge dorthin bringt, wo Ihr Betriebssystem es sagt und liest, was auch immer von ihm verlangt wird. Moderne Laufwerke haben ausgeklügelte Caching- und Puffermechanismen, die darauf ausgelegt sind, basierend auf der Erfahrung, die wir im Laufe der Zeit erhalten haben, zu prognostizieren, was das Betriebssystem erwartet( einige Laufwerke kennen sogar das Dateisystem)Fahren Sie einfach wie eine große Ansammlung von Speicher mit gelegentlichen Bonus-Leistungsmerkmalen.

2. Ihr Betriebssystem sucht auch nicht nach Orten, an denen Dinge abgelegt werden können. Es gibt keine Suche. Es wurde viel Mühe in die Lösung dieses Problems investiert, da dies für die Dateisystemleistung von entscheidender Bedeutung ist. Die Art und Weise, wie Daten auf Ihrem Laufwerk organisiert sind, hängt von Ihrem Dateisystem ab. Zum Beispiel FAT32( alte DOS- und Windows-PCs), NTFS( spätere Editionen von Windows), HFS +( Mac), ext4( einige Linux-Systeme) und viele andere. Selbst das Konzept einer "Datei" und eines "Verzeichnisses" sind nur Produkte typischer Dateisysteme - Festplatten wissen nichts über die mysteriösen Biester namens -Dateien .Details liegen außerhalb des Rahmens dieser Antwort. Aber im Wesentlichen haben alle gängigen Dateisysteme Möglichkeiten zu verfolgen, wo der verfügbare Platz auf einem Laufwerk ist, so dass eine Suche nach freiem Speicherplatz unter normalen Umständen( d. H. Dateisystem in gutem Zustand) unnötig ist. Beispiele:

  • NTFS verfügt über eine Hauptdateitabelle, die die speziellen Dateien $ Bitmap usw. und viele Metadaten enthält, die das Laufwerk beschreiben. Im Wesentlichen verfolgt es, wo die nächsten freien Blöcke sind, so dass neue Dateien direkt in freie Blöcke geschrieben werden können, ohne dass das Laufwerk jedes Mal gescannt werden muss.
  • Ein anderes Beispiel: Ext4 hat, was man den Bitmap-Allokator nennt, eine Verbesserung gegenüber ext2 und ext3, die es im Grunde hilft, direkt festzustellen, wo freie Blöcke sind, anstatt die Liste der freien Blöcke zu scannen. Ext4 unterstützt auch verzögerte Zuteilung , dh Pufferung von Daten im RAM durch das Betriebssystem, bevor es auf das Laufwerk geschrieben wird, um bessere Entscheidungen darüber zu treffen, wo es platziert werden soll, um die Fragmentierung zu reduzieren.
  • Viele andere Beispiele.

"Oder Dinge bewegen, um einen ausreichend langen, durchgehenden Platz zu schaffen, um etwas zu speichern?"

Nein. Dies geschieht nicht, zumindest nicht mit irgendeinem mir bekannten Dateisystem. Dateien werden nur fragmentiert.

Der Vorgang des "Verschiebens von Dingen, um einen ausreichend langen zusammenhängenden Speicherplatz zum Speichern von etwas zu schaffen" wird als bezeichnet, der defragmentiert. Dies passiert nicht, wenn Dateien geschrieben werden. Dies passiert, wenn Sie Ihren Festplatten-Defragmentierer ausführen. Dies geschieht bei neueren Windows-Versionen zumindest automatisch nach einem Zeitplan, wird jedoch niemals durch das Schreiben einer Datei ausgelöst.

zu vermeiden Dinge zu bewegen, wie dies ist der Schlüssel zur Dateisystem-Performance, und warum Fragmentierung passiert und warum Defragmentierung als separaten Schritt existiert.

"Wie viel freier Speicherplatz sollte ich auf einer Festplatte frei lassen?"

Dies ist eine kniffligere Frage( und diese Antwort ist bereits zu einem kleinen Buch geworden).

Faustregeln:

1. Für alle Arten von Laufwerken:

  • Lassen Sie am meisten freien Platz für , damit Sie Ihren Computer effektiv verwenden können. Wenn Ihnen der Platz zum Arbeiten knapp wird, benötigen Sie eine größere Festplatte.
  • Viele Disk-Defragmentierungstools benötigen ein Minimum an freiem Speicherplatz( ich denke, der mit Windows benötigt 15 Prozent, worst case), um zu arbeiten. Sie nutzen diesen freien Platz, um fragmentierte Dateien temporär zu halten, während andere Dinge neu angeordnet werden.
  • Lassen Sie Platz für andere Betriebssystemfunktionen. Wenn Ihr Computer beispielsweise nicht über viel physischen Arbeitsspeicher verfügt und Sie virtuellen Speicher mit einer dynamisch bemessenen Auslagerungsdatei aktiviert haben, sollten Sie genügend Speicherplatz für die maximale Größe der Auslagerungsdatei reservieren. Wenn Sie einen Laptop in den Ruhezustand versetzen, benötigen Sie ausreichend freien Speicherplatz für die Ruhezustandsdatei. Sachen wie diese.

2. SSD-spezifisch:

  • Für eine optimale Zuverlässigkeit( und in geringerem Maße für die Performance) benötigen SSDs etwas freien Speicherplatz, den sie für die Verbreitung von Daten rund um das Laufwerk verwenden, ohne ständig zu schreibender gleiche Ort( der sie verschleißt).Dieses Konzept des Freilassens von freiem Speicherplatz wird Over-Provisioning genannt. Es ist wichtig, , aber in vielen SSDs gibt es bereits einen obligatorischen überprovisionierten Speicherplatz .Das heißt, die Laufwerke haben oft ein paar Dutzend mehr GB als sie an das Betriebssystem melden. Bei untergeordneten Laufwerken müssen Sie häufig nicht partitionierten -Speicherplatz manuell belassen. Bei Laufwerken mit obligatorischem OP, müssen Sie jedoch keinen freien Speicherplatz freilassen. Eine wichtige Sache, die hier zu beachten ist, ist, dass überprovisionierten Speicherplatz oft nur von nicht partitioniertem Speicherplatz genommen wird. Wenn also Ihre Partition Ihr gesamtes Laufwerk belegt und Sie etwas freien Speicherplatz darauf belassen, zählt nicht immer .Häufig müssen Sie bei einer manuellen Überprovisionierung Ihre Partition verkleinern, damit sie kleiner als die Größe des Laufwerks ist. Weitere Informationen finden Sie im Benutzerhandbuch Ihrer SSD.TRIM, Garbage Collection und so weiter haben ebenfalls Auswirkungen, aber diese liegen außerhalb des Rahmens dieser Antwort.

Persönlich ergreife ich normalerweise eine größere Festplatte, wenn ich noch 20 bis 25 Prozent freien Platz habe. Das hängt nicht mit der Leistung zusammen, es ist nur so, dass ich, wenn ich an diesen Punkt komme, erwarte, dass mir wahrscheinlich bald der Speicherplatz für Daten ausgehen wird und es Zeit ist, eine größere Festplatte zu bekommen.

Wichtiger als die Überwachung des freien Speicherplatzes ist es, sicherzustellen, dass die geplante Defragmentierung gegebenenfalls aktiviert ist( nicht auf SSDs), so dass Sie niemals zu dem Punkt kommen, an dem es so schlimm wird, dass es Sie betrifft.

Es gibt noch eine letzte erwähnenswerte Sache. Eine der anderen Antworten hier erwähnt, dass der Halbduplex-Modus von SATA das Lesen und Schreiben zur gleichen Zeit verhindert. Dies ist zwar stark vereinfacht und steht in keinem Zusammenhang mit den hier erörterten Leistungsproblemen. Dies bedeutet einfach, dass Daten nicht gleichzeitig in beiden Richtungen auf dem Draht übertragen werden können. SATA hat jedoch eine ziemlich komplexe Spezifikation mit winzigen maximalen Blockgrößen( ungefähr 8kB pro Block auf dem Draht, denke ich), Lese- und Schreiboperationswarteschlangen usw. und schließt nicht Schreibvorgänge in Puffern aus, die während der laufenden Lesevorgänge interleaved auftretenOperationen, usw.

Jede Blockierung, die auftritt, würde aufgrund des Konkurrierens um physische Ressourcen entstehen, die normalerweise durch viel Cache gemildert werden. Der Duplex-Modus von SATA ist hier fast völlig irrelevant.

( A) "Verlangsamen" ist ein weiter Begriff. Hier verwende ich es, um Dinge zu bezeichnen, die entweder I / O-gebunden sind( dh wenn dein Computer dort knirschende Zahlen hat, der Inhalt der Festplatte keinen Einfluss hat) oder CPU-gebunden und mit tangential verwandten Dingen konkurriert, die hoch sindCPU-Auslastung( dh Antivirensoftware, die Tonnen von Dateien scannt).

( B) SSDs sind von Fragmentierung betroffen, da sequenzielle Zugriffsgeschwindigkeiten im Allgemeinen schneller sind als Direktzugriffe, obwohl SSDs nicht denselben Einschränkungen wie ein mechanisches Gerät ausgesetzt sind( selbst dann, wenn Fragmentierung nicht den sequentiellen Zugriff aufgrund von Wear Leveling garantiert,etc.).In praktisch jedem allgemeinen Anwendungsszenario ist dies jedoch kein Problem. Leistungsunterschiede aufgrund von Fragmentierung auf SSDs sind in der Regel vernachlässigbar, beispielsweise beim Laden von Anwendungen, Booten des Computers usw.

( C) Angenommen, ein normales Dateisystem sperrt Dateien nicht absichtlich.

Lesen Sie den Rest der lebhaften Diskussion bei SuperUser über den folgenden Link!

Haben Sie etwas zur Erklärung hinzuzufügen? Ton in den Kommentaren ab. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange Benutzern lesen? Sehen Sie sich den vollständigen Diskussionsfaden hier an.