it-swarm.com.de

Warum beschleunigt das Leeren des Festplattenspeichers Computer?

Ich habe mir eine Reihe von Videos angesehen und verstehe jetzt ein bisschen besser, wie Computer funktionieren. Ich verstehe besser, was RAM ist, flüchtiger und nichtflüchtiger Speicher und den Prozess des Austauschs. Ich verstehe auch, warum das Erhöhen von RAM einen Computer beschleunigt.

Ich verstehe nicht, warum das Aufräumen des Speicherplatzes einen Computer beschleunigt. Macht es? Warum ist es so? Hat es mit der Suche nach verfügbarem Speicherplatz zu tun? Oder mit dem Bewegen von Dingen, um einen ausreichend langen, zusammenhängenden Raum zu schaffen, um etwas zu sparen? Wie viel freien Speicherplatz soll ich auf der Festplatte lassen?

190
Remi.b

Zusätzlich zu Nathanial Meeks Erklärung für Festplatten gibt es ein anderes Szenario für SSDs.

SSDs reagieren nicht empfindlich auf verstreute Daten, da die Zugriffszeit auf einen beliebigen Ort auf der SSD gleich ist. Die typische SSD-Zugriffszeit beträgt 0,1 ms gegenüber einer typischen HDD-Zugriffszeit von 10 bis 15 ms. Es reagiert jedoch empfindlich auf Daten, die bereits auf die SSD geschrieben wurden

Im Gegensatz zu herkömmlichen Festplatten, die vorhandene Daten überschreiben können, benötigt eine SSD vollständig leeren Speicherplatz, um Daten zu schreiben. Dies geschieht mit den Funktionen Trim und Garbage Collection, mit denen Daten gelöscht werden, die als gelöscht markiert wurden. Garbage Collection funktioniert am besten in Kombination mit einer bestimmten Menge an freiem Speicherplatz auf der SSD. In der Regel werden 15% bis 25% des freien Speicherplatzes empfohlen.

Wenn die Garbage Collection ihren Job nicht rechtzeitig abschließen kann, wird vor jedem Schreibvorgang der Speicherbereich aufgeräumt, in den die Daten geschrieben werden sollen. Dies verdoppelt die Zeit für jeden Schreibvorgang und beeinträchtigt die Gesamtleistung.

Hier istein ausgezeichneter Artikel, der die Funktionsweise von Trim and Garbage Collection erklärt

22
whs

Alle anderen Antworten sind technisch korrekt - ich habe jedoch immer festgestellt, dass dieses einfache Beispiel es am besten erklärt.

Dinge zu sortieren ist wirklich einfach wenn Sie viel Platz haben ... aber schwierig wenn Sie keinen Platz haben ... Computer brauchen den Platz auch !

Dieses klassische " 15 Puzzle " ist knifflig/zeitaufwändig, da Sie nur 1 freies Quadrat haben, um die Kacheln in der richtigen Reihenfolge 1-15 zu mischen.

hard 15 puzzle

Wäre der Platz jedoch viel größer, könnten Sie dieses Rätsel in weniger als 10 Sekunden lösen.

easy 15 puzzle

Für jeden, der jemals mit diesem Rätsel gespielt hat ... das Verständnis der Analogie scheint selbstverständlich zu sein. ;-)

6
scunliffe

Ein Computer mit sehr wenig Speicherplatz auf einer sich drehenden mechanischen Festplatte wird im Allgemeinen langsamer, wenn die Dateifragmentierung zunimmt. Erhöhte Fragmentierung bedeutet langsame Lesevorgänge - sehr langsam in extremen Fällen.

Sobald sich ein Computer in diesem Zustand befindet, kann das Problem durch Freigeben von Speicherplatz nicht mehr behoben werden. Sie müssten auch die Festplatte defragmentieren. Bevor sich ein Computer in diesem Zustand befindet, beschleunigt das Freigeben des Speicherplatzes ihn nicht. es wird einfach die Wahrscheinlichkeit verringern, dass Fragmentierung zum Problem wird.

Dies gilt nur für Computer mit sich drehenden mechanischen Festplatten, da die Fragmentierung die Lesegeschwindigkeit von SSDs nur unwesentlich beeinflusst.

5
RomanSt

Flash-Laufwerke können definitiv langsamer werden, wenn sie voll oder fragmentiert sind, obwohl die Mechanismen zum Verlangsamen anders sind als bei einer physischen Festplatte. Ein typischer Flash-Speicherchip wird in eine Anzahl von Löschblöcken unterteilt, von denen jeder aus einer großen Anzahl (Hunderte, wenn nicht Tausende) von Schreibseiten besteht und drei Hauptoperationen unterstützt:

  1. Lesen Sie eine Flash-Seite.
  2. Schreiben Sie auf eine zuvor leere Flash-Seite.
  3. Löschen Sie alle Flash-Seiten eines Blocks.

Während es theoretisch möglich wäre, dass jedes Schreiben auf ein Flash-Laufwerk alle Seiten aus einem Block liest, eine im Puffer ändert, den Block löscht und dann den Puffer zurück auf das Flash-Gerät schreibt, wäre ein solcher Ansatz extrem schleppend; Es ist auch wahrscheinlich, dass Daten verloren gehen, wenn die Stromversorgung zwischen dem Start des Löschvorgangs und dem Abschluss des Zurückschreibens unterbrochen wird. Ferner würden sich häufig beschriebene Teile der Platte extrem schnell abnutzen. Wenn die ersten 128 Sektoren der FAT beispielsweise in einem Flash-Block gespeichert wären, wäre das Laufwerk tot, nachdem die Gesamtzahl der Schreibvorgänge in all diese Sektoren etwa 100.000 erreicht hätte, was angesichts der 128 Sektoren nicht sehr viel ist würde ungefähr 16.384 FAT-Einträge enthalten.

Da der oben beschriebene Ansatz fürchterlich funktioniert, erkennt das Laufwerk eine leere Seite, schreibt die Daten dorthin und zeichnet die Tatsache auf, dass der betreffende logische Sektor an diesem Ort gespeichert ist. Solange genügend leere Seiten verfügbar sind, kann dieser Vorgang schnell ausgeführt werden. Wenn leere Seiten knapp werden, muss das Laufwerk möglicherweise nach Blöcken suchen, die relativ wenige "lebende" Seiten enthalten, alle lebenden Seiten in diesen Blöcken in einige der verbleibenden leeren verschieben und die alten Kopien als "" markieren. tot"; Danach kann das Laufwerk Blöcke löschen, die nur "tote" Seiten enthalten.

Wenn ein Laufwerk nur zur Hälfte gefüllt ist, gibt es mindestens einen Block, der höchstens zur Hälfte mit Live-Seiten gefüllt ist (und es gibt höchstwahrscheinlich einige Blöcke, die nur wenige oder gar keine enthalten). Wenn jeder Block 256 Seiten und die am wenigsten vollen Blöcke 64 Live-Seiten enthalten (ein mäßig schlechter Fall), muss das Laufwerk für alle 192 angeforderten Sektorschreibvorgänge 64 zusätzliche Sektorkopien und ein Blocklöschvorgang ausführen (also die durchschnittlichen Kosten) jedes Sektorschreibens würde ungefähr 1,34 Seitenschreibvorgänge und 0,005 Blocklöschvorgänge sein). Selbst im schlimmsten Fall wären für 128 Sektorschreibvorgänge 128 zusätzliche Sektorkopien und ein Blocklöschvorgang erforderlich (durchschnittliche Kosten pro Schreibvorgang für 2 Seitenschreibvorgänge und 0,01 Blocklöschvorgänge).

Wenn ein Laufwerk zu 99% voll ist und die am wenigsten vollen Blöcke 248/256 Live-Seiten haben, sind für alle 8 Sektorschreibvorgänge 248 zusätzliche Seitenschreibvorgänge und ein Blocklöschvorgang erforderlich, wodurch pro Schreibvorgang 32 Seitenschreibvorgänge und 0,125 Blockkosten anfallen löscht - eine sehr starke Verlangsamung.

Je nachdem, wie viel "zusätzlichen" Speicher ein Laufwerk hat, kann es sein, dass die Dinge nicht so schlimm werden. Selbst wenn ein Laufwerk zu 75% voll ist, kann die Leistung im ungünstigsten Fall mehr als doppelt so hoch sein wie im ungünstigsten Fall, wenn es zu 50% voll ist.

4
supercat

Nach dem kurzen & süßen Ansatz lautet meine übervereinfachte Antwort (streng auf Ihre Hauptverwirrung beschränkt):

Solange dein

  1. Das Betriebssystem verfügt über genügend Speicherplatz (für Worst-Case-Szenarien), um seine Aufgaben wie Paging/Swap/etc. Zu erfüllen.
  2. Andere Software hat auch genügend Platz für ihre jeweiligen Bedürfnisse.
  3. Festplatte ist defragmentiert.

Dann können Sie keinen Unterschied in der Leistung einer zu 80% leeren Festplatte gegenüber einer zu 30% leeren Festplatte feststellen und sollten sich über nichts anderes als das Speichern immer neuer Daten Gedanken machen.

Alles andere, was mehr Speicherplatz benötigt, führt zu schlechten Leistungen, da möglicherweise nicht genügend Speicherplatz zur Verfügung steht.

Natürlich ist das Reinigen der Festplatte mit einem Werkzeug gut, da:

  1. Temporäre Dateien sollten regelmäßig gesäubert werden, um wertvollen Speicherplatz zu gewinnen.
  2. Alte Log-Dateien sind nichts anderes als Platzverschwendung.
  3. Reste der installierten/deinstallierten Software sind sehr böse.
  4. Cookies müssen gelöscht werden, wenn Sie Ihre Online-Privatsphäre schätzen.
  5. Ungültige Verknüpfungen usw.

All diese (und viele weitere) Gründe führen zu einer schlechteren Leistung, da sie das Betriebssystem weiterhin verwirren, wenn es darum geht, den richtigen Satz von Bits für die Arbeit zu finden.

3
Htaank

Du hast es so ziemlich geschafft. Sie können sich eine SATA-Festplatte als ein Halbduplex-Kommunikationsmedium vorstellen (dh, sie kann nur Daten gleichzeitig annehmen oder übertragen. Nicht beides.), Wenn das Laufwerk längere Zeit auf der Suche nach einem freien Schreibort ist Es kann keine Daten für Sie lesen. Als Faustregel gilt, dass Sie Ihre Laufwerke aus diesem Grund nicht mit einer Kapazität von mehr als 80% belasten sollten. Je voller es ist, desto wahrscheinlicher ist es, dass Dateien fragmentiert werden, was dazu führt, dass das Laufwerk während Leseanforderungen gebunden wird (wodurch Schreibanforderungen blockiert werden).

Es gibt eine Reihe von Dingen, die Sie tun können, um bei diesen Problemen zu helfen:

  • Reduzieren Sie die Datenmenge, die Sie gespeichert haben, und defragmentieren Sie Ihr Laufwerk regelmäßig.
  • Wechseln Sie zu Flash-basiertem Speicher.
  • Bewahren Sie Massendaten auf einem von Ihrem Betriebssystem getrennten Laufwerk auf.
  • Und so weiter und so fort...
3
Nathanial Meek

Ein Effekt auf sich drehende Laufwerke, den ich nicht erwähnt habe: Zugriffsgeschwindigkeit und Datenübertragungsgeschwindigkeit sind auf verschiedenen Teilen einer Festplatte unterschiedlich.

Eine Scheibe dreht sich mit fester Geschwindigkeit. Die Spuren auf der Außenseite einer Platte sind länger und können daher mehr Daten pro Spur enthalten als die Spuren auf der Innenseite. Wenn Ihr Laufwerk 100 MB/s von den äußersten Spuren lesen kann, beträgt die Geschwindigkeit auf den innersten Spuren weniger als 50 MB/s.

Gleichzeitig gibt es weniger Spuren zwischen 1 GB Daten auf den äußeren Spuren der Platte als zwischen 1 GB Daten auf den innersten Spuren. Im Durchschnitt werden für Daten, die außen gespeichert sind, weniger Kopfbewegungen benötigt als für Daten auf den innersten Spuren.

Das Betriebssystem versucht, wenn möglich, die äußersten Spuren zu verwenden. Natürlich ist es nicht möglich, wenn die Festplatte voll ist. Durch das Löschen von Daten wird Speicherplatz verfügbar, bei dem die Übertragungsgeschwindigkeit höher ist, und die Ausführung wird beschleunigt. Aus dem gleichen Grund sollten Sie sich drehende Festplatten kaufen, die größer als erforderlich sind, wenn Sie Geschwindigkeit möchten (sofern dies erschwinglich ist), da Sie am Ende nur die schnellsten Teile des Laufwerks verwenden.

2
gnasher729