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 der Prozess des Austauschs. Ich verstehe auch, warum das Erhöhen des 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 retten? Wie viel freien Speicherplatz soll ich auf der Festplatte lassen?
memory
performance
disk-space
Remi.b
quelle
quelle
speeds up the experience of using a PC
.Antworten:
Hier habe ich aus Versehen ein Buch geschrieben. Holen Sie sich zuerst einen Kaffee.
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.
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.
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.
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.
Diese Frage ist schwieriger zu beantworten und hat sich bereits in ein kleines Buch verwandelt.
Faustregeln:
Für alle Arten von Laufwerken:
SSD-spezifisch:
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.
quelle
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 ist ein hervorragender Artikel , der die Funktionsweise von Trim and Garbage Collection erklärt
quelle
Irgendwo in einer herkömmlichen Festplatte befindet sich eine sich drehende Metallplatte, auf der die einzelnen Bits und Bytes tatsächlich codiert sind. Wenn Daten zum Plattenteller hinzugefügt werden, speichert der Plattencontroller diese zuerst auf der Außenseite der Platte. Wenn neue Daten hinzugefügt werden, wird Speicherplatz verwendet, der zuletzt zum Inneren der Festplatte verschoben wird.
Vor diesem Hintergrund gibt es zwei Effekte, die zu einer Verringerung der Festplattenleistung führen, wenn sich die Festplatte füllt: Suchzeiten und Rotationsgeschwindigkeit .
Such mal
Um auf Daten zuzugreifen, muss eine herkömmliche Festplatte einen Lese- / Schreibkopf physisch an die richtige Position bewegen. Dies braucht Zeit, die "Suchzeit" genannt wird. Die Hersteller veröffentlichen die Suchzeiten für ihre Datenträger. In der Regel sind es nur wenige Millisekunden. Das hört sich vielleicht nicht viel an, aber für einen Computer ist es eine Ewigkeit. Wenn Sie zum Ausführen einer (häufig vorkommenden) Aufgabe auf viele verschiedene Plattenspeicherorte schreiben oder lesen müssen, kann dies zu einer spürbaren Verzögerung oder Latenz führen.
Bei einem fast leeren Laufwerk befinden sich die meisten Daten an oder in der Nähe derselben Position, normalerweise am äußeren Rand in der Nähe der Ruheposition des Schreib- / Lesekopfs. Dies verringert die Notwendigkeit, über die Festplatte zu suchen, und verringert die Zeit, die für das Suchen aufgewendet wird, erheblich. Ein fast volles Laufwerk muss nicht nur häufiger und mit größeren / längeren Suchbewegungen auf der Festplatte suchen, sondern kann auch Probleme haben, verwandte Daten im selben Sektor zu halten, wodurch die Suche nach Festplatten weiter zunimmt. Dies nennt man fragmentierte Daten.
Das Freigeben von Speicherplatz kann die Suchzeiten verkürzen, indem der Defragmentierungsdienst nicht nur fragmentierte Dateien schneller bereinigt, sondern auch Dateien nach außen verschiebt, sodass die durchschnittliche Suchzeit kürzer ist.
Rotationsgeschwindigkeit
Festplatten drehen sich mit einer festen Geschwindigkeit (normalerweise 5400 U / min oder 7200 U / min für Ihren Computer und 10000 U / min oder sogar 15000 U / min auf einem Server). Es dauert auch eine feste Menge an Speicherplatz auf dem Laufwerk (mehr oder weniger), um ein einzelnes Bit zu speichern. Bei einer Platte, die sich mit einer festen Rotationsrate dreht, hat die Außenseite der Platte eine schnellere lineare Rate als die Innenseite der Platte. Dies bedeutet, dass Bits in der Nähe der Außenkante der Platte schneller am Lesekopf vorbeibewegt werden als Bits in der Nähe der Plattenmitte, so dass der Lese- / Schreibkopf Bits in der Nähe der Außenkante der Platte schneller lesen oder schreiben kann als die innere.
Ein fast leeres Laufwerk verbringt die meiste Zeit damit, auf Bits in der Nähe der schnelleren Außenkante der Disc zuzugreifen. Ein fast volles Laufwerk benötigt mehr Zeit für den Zugriff auf Bits in der Nähe des langsameren inneren Teils der Disc.
Auch hier kann das Leeren des Festplattenspeichers den Computer beschleunigen, indem der Defragmentierungsdienst Daten nach außerhalb der Festplatte verschieben kann, wo Lese- und Schreibvorgänge schneller sind.
Manchmal bewegt sich eine Disc tatsächlich zu schnell für den Lesekopf, und dieser Effekt wird verringert, weil Sektoren in der Nähe der Außenkante gestaffelt werden ... und nicht in der richtigen Reihenfolge geschrieben werden, damit der Lesekopf mithalten kann. Aber insgesamt gilt das.
Beide Effekte beruhen darauf, dass ein Festplattencontroller zuerst die Daten im schnelleren Teil der Festplatte gruppiert und erst dann die langsameren Teile der Festplatte verwendet. Wenn der Datenträger voll ist, wird immer mehr Zeit im langsameren Teil des Datenträgers verbracht.
Die Effekte gelten auch für neue Laufwerke. Wenn alles andere gleich ist, ist ein neues 1-TB-Laufwerk schneller als ein neues 200-GB-Laufwerk, da das 1-TB-Laufwerk Bits näher beieinander speichert und die inneren Spuren nicht so schnell ausfüllt. Der Versuch, dies zur Information über Kaufentscheidungen zu verwenden, ist jedoch selten hilfreich, da Hersteller möglicherweise mehrere Platten verwenden, um die 1-TB-Größe zu erreichen, kleinere Platten, um ein 1-TB-System auf 200 GB zu begrenzen, und Software- / Plattencontroller-Beschränkungen, um eine 1-TB-Platte auf nur 200 GB zu begrenzen Sie können auch ein Laufwerk mit unvollständigen / fehlerhaften Platten von einem 1-TB-Laufwerk mit vielen fehlerhaften Sektoren als 200-GB-Laufwerk verkaufen.
Andere Faktoren
Es ist erwähnenswert, dass die oben genannten Effekte relativ gering sind. Computerhardware-Ingenieure verbringen viel Zeit damit, diese Probleme zu minimieren, und Dinge wie Festplattenpuffer, Superfetch-Caching und andere Systeme arbeiten alle daran, das Problem zu minimieren. Auf einem gesunden System mit viel freiem Speicherplatz werden Sie es wahrscheinlich nicht einmal bemerken. Darüber hinaus weisen SSDs völlig unterschiedliche Leistungsmerkmale auf. Die Auswirkungen sind jedoch vorhanden, und ein Computer wird zu Recht langsamer, wenn das Laufwerk voll ist. Auf einem ungesunden System, auf dem nur sehr wenig Speicherplatz zur Verfügung steht, können diese Effekte zu einer überlasteten Situation führen, in der die Festplatte ständig fragmentierte Daten durchsucht. Durch die Freigabe von Speicherplatz kann dies behoben werden. Dies führt zu dramatischeren und spürbareren Verbesserungen .
Darüber hinaus bedeutet das Hinzufügen von Daten zur Festplatte, dass bestimmte andere Vorgänge, z. B. Indizierung oder AV-Scans und Defragmentierungsvorgänge, im Hintergrund nur mehr Arbeit leisten, selbst wenn sie mit oder nahe der gleichen Geschwindigkeit wie zuvor ausgeführt werden.
Schließlich ist die Festplattenleistung heutzutage ein wichtiger Indikator für die allgemeine PC-Leistung ... ein noch größerer Indikator als die CPU-Geschwindigkeit. Sogar ein kleiner Rückgang des Datenträgerdurchsatzes entspricht sehr oft einem wahrgenommenen Gesamtabfall der PC-Leistung. Dies gilt insbesondere, da die Festplattenleistung nicht mit den Verbesserungen von CPU und Arbeitsspeicher Schritt gehalten hat. Die Festplatte mit 7200 U / min ist seit über einem Jahrzehnt der Desktop-Standard. Mehr als je zuvor ist diese herkömmliche drehende Festplatte der Engpass in Ihrem Computer.
quelle
Freeing disk space won't decrease seek times if your data is already all over the drive.
“ Ich kann das nicht bestreiten selbst, aber ich kann das Defragmentierungsdienst jetzt darauf hin , diese Daten auf der Vorderseite des Laufwerks bewegen kann, und jetzt diese Dinge werden verbessern mal suchen. Andere Punkte in Ihrem Kommentar weisen ähnliche Indikatoren auf: Nicht genügend Speicherplatz erhöht die Suche nach gut organisierten Daten nicht, verringert jedoch die Wahrscheinlichkeit, dass die Daten organisiert bleiben.Alle anderen Antworten sind technisch korrekt - ich habe jedoch immer festgestellt, dass dieses einfache Beispiel es am besten erklärt.
Das Sortieren von Dingen ist wirklich einfach, wenn Sie viel Platz haben ... aber schwierig, wenn Sie keinen Platz haben ... Computer brauchen auch Platz !
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.
Wäre der Platz jedoch viel größer, könnten Sie dieses Rätsel in weniger als 10 Sekunden lösen.
Für jeden, der jemals mit diesem Rätsel gespielt hat ... das Verständnis der Analogie scheint selbstverständlich zu sein. ;-)
quelle
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 - im Extremfall sehr langsam.
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, wird er durch die Freigabe des Speicherplatzes nicht beschleunigt. 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.
quelle
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:
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 zum Beispiel die ersten 128 Sektoren der FAT 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 voll 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 sich pro Schreibvorgang Kosten von 32 Seitenschreibvorgängen und 0,125 Blockschreibvorgängen ergeben 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.
quelle
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 beide.), Wenn das Laufwerk für längere Zeit auf der Suche nach einem freien Speicherort zum Schreiben gehalten wird Es kann keine Daten für Sie lesen. Als Faustregel gilt, dass Sie Ihre Laufwerke aus diesem Grund nicht mit einer Kapazität von über 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:
quelle
$Bitmap
Datei auf NTFS oder der Bitmap-Allokator in ext4 ist. Dh diese Antwort verbreitet einige ernsthafte Fehlinformationen. 3. Es gibt viele Lese- und Schreibpuffer und Caching-Vorgänge, die einen Großteil dieses Problems verursachen. Diese Antwort beschreibt etwas die Auswirkungen der Fragmentierung und selbst dann, wenn sie auf ältere Dateisysteme beschränkt ist, ist sie auf keinen Fall genau genug, um freien Speicherplatz zu schaffen. Das Freigeben von Speicherplatz beschleunigt einen Computer nicht.Nach dem kurzen & süßen Ansatz lautet meine übervereinfachte Antwort (streng auf Ihre Hauptverwirrung beschränkt):
Solange dein
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:
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.
quelle
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.
quelle