Hier habe ich aus Versehen ein Buch geschrieben. Holen Sie sich zuerst einen Kaffee.
Warum beschleunigt das Leeren des Festplattenspeichers Computer?
Das tut es nicht, zumindest nicht von alleine. Dies ist ein sehr verbreiteter Mythos. Der Grund ist es ein weit verbreiteter Mythos ist, weil füllen oft die Festplatte zur gleichen Zeit wie andere Dinge passiert , die traditionell könnte verlangsamen † Ihrem Computer. Die Leistung von SSDs nimmt mit zunehmender Auslastung des Laufwerks tendenziell ab. Dies ist jedoch ein relativ neues Problem, das nur bei SSDs auftritt und für Gelegenheitsbenutzer kaum erkennbar ist. Im Allgemeinen ist wenig freier Speicherplatz nur ein roter Hering .
Zum Beispiel Dinge wie:
Dateifragmentierung. Dateifragmentierung ist ein Problem †† , aber der Mangel an freiem Speicherplatz ist definitiv einer von vielen Faktoren, die dazu beitragen, aber nicht die einzige Ursache. Einige wichtige Punkte hier:
Die Wahrscheinlichkeit, dass eine Datei fragmentiert wird , hängt nicht vom freien Speicherplatz auf dem Laufwerk ab. Sie beziehen sich auf die Größe des größten zusammenhängenden freien Speicherblocks auf dem Laufwerk (z. B. "Löcher" des freien Speicherplatzes), an die die Größe des freien Speicherplatzes zufällig eine Obergrenze setzt . Sie hängen auch damit zusammen, wie das Dateisystem die Dateizuordnung handhabt (siehe unten). Bedenken Sie: Ein Laufwerk, das zu 95% mit freiem Speicherplatz in einem zusammenhängenden Block voll ist, hat eine 0% ige Chance, eine neue Datei zu fragmentieren ††† (und die Chance, eine angehängte Datei zu fragmentieren, ist unabhängig vom freien Speicherplatz). Ein Laufwerk, das zu 5% voll ist, dessen Daten jedoch gleichmäßig über das Laufwerk verteilt sind, weist eine sehr hohe Fragmentierungswahrscheinlichkeit auf.
Beachten Sie, dass sich die Dateifragmentierung nur auf die Leistung auswirkt, wenn auf die fragmentierten Dateien zugegriffen wird . Bedenken Sie: Sie haben ein schönes, defragmentiertes Laufwerk, das noch viele freie "Löcher" aufweist. Ein häufiges Szenario. Alles läuft reibungslos. Irgendwann kommt man jedoch an einen Punkt, an dem keine großen freien Speicherblöcke mehr vorhanden sind. Wenn Sie einen riesigen Film herunterladen, wird die Datei stark fragmentiert. Dies wird Ihren Computer nicht verlangsamen. Alle Ihre Anwendungsdateien und solche, die zuvor in Ordnung waren, werden nicht plötzlich fragmentiert. Dies kann den Film machenDas Laden dauert länger (obwohl die typischen Filmbitraten im Vergleich zu den Festplattenleseraten so niedrig sind, dass sie höchstwahrscheinlich nicht bemerkt werden), und es kann sich auf die E / A-gebundene Leistung auswirken, während der Film geladen wird. Nichts verändert sich.
Obwohl die Fragmentierung von Dateien mit Sicherheit ein Problem darstellt, werden die Auswirkungen häufig durch das Puffern und Zwischenspeichern auf Betriebssystem- und Hardwareebene gemindert. Verzögertes Schreiben, Vorauslesen, Strategien wie der Prefetcher in Windows usw. tragen dazu bei, die Auswirkungen der Fragmentierung zu verringern. Sie im Allgemeinen nicht wirklich erhebliche Auswirkungen auftreten , bis die Fragmentierung schwerer wird (ich würde sogar wagen zu sagen , dass, solange die Auslagerungsdatei nicht fragmentiert ist, werden Sie wahrscheinlich nicht bemerken).
Die Suchindizierung ist ein weiteres Beispiel. Angenommen, Sie haben die automatische Indizierung aktiviert und ein Betriebssystem, das dies nicht ordnungsgemäß handhabt. Wenn Sie mehr und mehr indizierbare Inhalte auf Ihrem Computer speichern (Dokumente usw.), kann die Indizierung länger und länger dauern und sich auf die wahrgenommene Geschwindigkeit Ihres Computers auswirken, während dieser ausgeführt wird, sowohl bei der E / A- als auch bei der CPU-Auslastung . Dies hängt nicht mit dem freien Speicherplatz zusammen, sondern mit der Menge des indizierbaren Inhalts, den Sie haben. Der knapp werdende freie Speicherplatz geht jedoch mit der Speicherung von mehr Inhalten einher, sodass eine falsche Verbindung hergestellt wird.
Antiviren Software. Ähnlich wie im Beispiel für die Suchindizierung. Angenommen, Sie haben eine Antivirensoftware eingerichtet, mit der Sie das Laufwerk im Hintergrund scannen können. Da Sie mehr und mehr durchsuchbare Inhalte haben, beansprucht die Suche mehr E / A- und CPU-Ressourcen und beeinträchtigt möglicherweise Ihre Arbeit. Dies hängt wiederum mit der Menge an durchsuchbarem Inhalt zusammen, die Sie haben. Mehr Inhalt entspricht oft weniger freiem Speicherplatz, aber der Mangel an freiem Speicherplatz ist nicht die Ursache.
Installierte Software. Angenommen, Sie haben eine Menge Software installiert, die beim Starten des Computers geladen wird, wodurch die Startzeiten verlangsamt werden. Diese Verlangsamung tritt auf, weil viel Software geladen wird. Die installierte Software beansprucht jedoch Festplattenspeicher. Daher nimmt der freie Speicherplatz auf der Festplatte gleichzeitig ab, und es kann erneut leicht eine falsche Verbindung hergestellt werden.
- Viele andere Beispiele in dieser Hinsicht scheinen den Mangel an freiem Speicherplatz eng mit einer geringeren Leistung zu verknüpfen.
Die obigen Ausführungen veranschaulichen einen weiteren Grund dafür, dass dies ein so verbreiteter Mythos ist: Während der Mangel an freiem Speicherplatz keine direkte Ursache für eine Verlangsamung ist, deinstallieren Sie verschiedene Anwendungen, entfernen indizierte oder gescannte Inhalte usw. manchmal (aber nicht immer), außerhalb des Geltungsbereichs answer) erhöht die Leistung erneut aus Gründen, die nicht mit dem verbleibenden freien Speicherplatz zusammenhängen. Dadurch wird natürlich auch Speicherplatz auf der Festplatte frei. Daher kann wiederum eine offensichtliche (aber falsche) Verbindung zwischen "mehr freiem Speicherplatz" und "schnellerem Computer" hergestellt werden.
Bedenken Sie: Wenn ein Computer aufgrund zahlreicher installierter Software usw. langsam läuft und Sie genau Ihre Festplatte auf eine größere Festplatte klonen, dann erweitern Sie Ihre Partitionen, um mehr Speicherplatz zu gewinnen, und der Computer beschleunigt nicht auf magische Weise oben. Dieselbe Software wird geladen, dieselben Dateien werden immer noch auf dieselbe Weise fragmentiert, derselbe Suchindex wird immer noch ausgeführt. Trotz mehr freiem Speicher ändert sich nichts.
Hat es mit der Suche nach einem Speicherplatz zu tun, in dem Dinge gespeichert werden können?
Nein, tut es nicht. Es gibt zwei sehr wichtige Dinge, die es wert sind, hier erwähnt zu werden:
Ihre Festplatte sucht nicht nach Orten, an denen Sie Dinge unterbringen können. Ihre Festplatte ist dumm. Es ist nichts. Es ist ein großer Block adressierten Speichers, der Dinge blindlings dahin bringt, wo es Ihr Betriebssystem sagt, und liest, was auch immer von ihm verlangt wird. Moderne Laufwerke verfügen über ausgeklügelte Caching- und Puffermechanismen, die darauf abzielen, vorherzusagen, wonach das Betriebssystem gefragt wird, basierend auf den Erfahrungen, die wir im Laufe der Zeit gesammelt haben (einige Laufwerke kennen sogar das Dateisystem, das sich auf ihnen befindet) Ihr Laufwerk ist nur ein großer Haufen Speicherplatz mit gelegentlichen Bonus-Leistungsmerkmalen.
Ihr Betriebssystem sucht auch nicht nach Orten, an denen Sie Dinge unterbringen können. Es wird nicht "gesucht". Es wurden große Anstrengungen unternommen, um dieses Problem zu lösen, da es für die Leistung des Dateisystems von entscheidender Bedeutung ist. Die Art und Weise, wie die Daten auf Ihrem Laufwerk tatsächlich organisiert sind, wird von Ihrem Dateisystem bestimmt. Zum Beispiel FAT32 (alte DOS- und Windows-PCs), NTFS (später Windows), HFS + (Mac), ext4 (einige Linuxes) und viele andere. Sogar das Konzept einer "Datei" und eines "Verzeichnisses" sind lediglich Produkte typischer Dateisysteme - Festplatten kennen die mysteriösen Bestien, die "Dateien" genannt werden, nicht. Details liegen außerhalb des Bereichs dieser Antwort. Grundsätzlich haben alle gängigen Dateisysteme jedoch Möglichkeiten, den verfügbaren Speicherplatz auf einem Laufwerk zu verfolgen, sodass eine Suche nach freiem Speicherplatz unter normalen Umständen (dh in gutem Zustand befindliche Dateisysteme) nicht erforderlich ist. Beispiele:
NTFS verfügt über eine Masterdateitabelle , die die speziellen Dateien $Bitmap
usw. enthält, sowie zahlreiche Metadaten, die das Laufwerk beschreiben. Im Wesentlichen wird verfolgt, wo sich die nächsten freien Blöcke befinden, so dass neue Dateien direkt in freie Blöcke geschrieben werden können, ohne dass das Laufwerk jedes Mal gescannt werden muss.
Ein weiteres Beispiel für ext4 ist der sogenannte "Bitmap-Allokator" , eine Verbesserung gegenüber ext2 und ext3, mit dem direkt ermittelt werden kann, wo sich freie Blöcke befinden, anstatt die Liste der freien Blöcke zu durchsuchen. Ext4 unterstützt auch die "verzögerte Zuweisung", dh das Puffern von Daten im RAM durch das Betriebssystem, bevor diese auf das Laufwerk geschrieben werden, um bessere Entscheidungen darüber zu treffen, wo sie platziert werden sollen, um die Fragmentierung zu verringern.
Viele andere Beispiele.
oder mit beweglichen Dingen, um einen ausreichend langen, zusammenhängenden Raum zum Speichern von Dingen zu schaffen?
Nein, das passiert nicht, zumindest bei keinem Dateisystem, das mir bekannt ist. Dateien werden einfach fragmentiert.
Der Vorgang "Verschieben von Dingen, um einen ausreichend langen zusammenhängenden Platz zum Speichern von Dingen zu schaffen" wird als Defragmentieren bezeichnet . Dies passiert nicht, wenn Dateien geschrieben werden. Dies passiert, wenn Sie Ihr Defragmentierungsprogramm ausführen. Zumindest unter neueren Windows geschieht dies automatisch nach einem Zeitplan, wird jedoch niemals durch das Schreiben einer Datei ausgelöst.
Die Möglichkeit, solche Bewegungen zu vermeiden , ist der Schlüssel zur Leistung des Dateisystems. Aus diesem Grund erfolgt die Fragmentierung und die Defragmentierung als separater Schritt.
Wie viel freien Speicherplatz soll ich auf der Festplatte lassen?
Diese Frage ist schwieriger zu beantworten und hat sich bereits in ein kleines Buch verwandelt.
Faustregeln:
Persönlich greife ich normalerweise zu einem größeren Laufwerk, wenn noch ca. 20-25% freier Speicherplatz vorhanden sind. Dies hat nichts mit der Leistung zu tun. Ich gehe nur davon aus, dass mir bald der Speicherplatz für Daten ausgeht und es Zeit ist, ein größeres Laufwerk zu kaufen.
Wichtiger als die Überwachung des freien Speicherplatzes ist es, sicherzustellen, dass die geplante Defragmentierung bei Bedarf aktiviert ist (nicht auf SSDs), sodass Sie nie an den Punkt gelangen, an dem sie für Sie schlimm genug wird. Ebenso wichtig ist es, falsche Optimierungen zu vermeiden und Ihr Betriebssystem seine Sache tun zu lassen. Deaktivieren Sie z. B. nicht den Windows-Prefetcher (mit Ausnahme von SSDs ) usw.
Es gibt eine letzte Sache, die es wert ist, erwähnt zu werden. In einer der anderen Antworten wurde erwähnt, dass der Halbduplex-Modus von SATA das gleichzeitige Lesen und Schreiben verhindert. Dies ist zwar zutreffend, jedoch stark vereinfacht und hängt größtenteils nicht mit den hier diskutierten Leistungsproblemen zusammen. Dies bedeutet einfach, dass Daten nicht gleichzeitig in beide Richtungen auf dem Kabel übertragen werden können. SATA hat jedoch eine ziemlich komplexe Spezifikation, die winzige maximale Blockgrößen (etwa 8 kB pro Block auf der Leitung, glaube ich), Warteschlangen für Lese- und Schreibvorgänge usw. umfasst und Schreibvorgänge in Puffer, die während des Lesevorgangs stattfinden, nicht ausschließt Operationen usw.
Jedes Blockieren, das auftritt, ist auf den Wettbewerb um physische Ressourcen zurückzuführen, der normalerweise durch viel Cache gemildert wird. Der Duplex-Modus von SATA spielt hier fast keine Rolle.
† "Verlangsamen" ist ein weit gefasster Begriff. Hier beziehe ich mich auf Dinge, die entweder I / O-gebunden sind (z. B. wenn Ihr Computer dort mit knirschenden Zahlen sitzt, der Inhalt der Festplatte keine Auswirkungen hat) oder CPU-gebunden sind und mit tangential verwandten Dingen konkurrieren hohe CPU-Auslastung (z. B. Antivirus-Software, die tonnenweise Dateien scannt).
†† SSDs sind von Fragmentierung betroffen, da sequenzielle Zugriffsgeschwindigkeiten im Allgemeinen schneller sind als der Direktzugriff, obwohl SSDs nicht den gleichen Einschränkungen unterliegen wie mechanische Geräte (selbst dann garantiert fehlende Fragmentierung keinen sequenziellen Zugriff aufgrund von Abnutzungsnivellierungen usw.). , wie James Snell in Kommentaren festhält). In praktisch jedem allgemeinen Anwendungsszenario ist dies jedoch kein Problem. Leistungsunterschiede aufgrund von Fragmentierung auf SSDs sind normalerweise für das Laden von Anwendungen, das Booten des Computers usw. vernachlässigbar.
††† Angenommen, ein vernünftiges Dateisystem fragmentiert Dateien nicht absichtlich.