In der informellen (dh journalistischen) Technologiepresse sowie in Online-Technologieblogs und Diskussionsforen wird häufig empfohlen, auf Festplatten oder Solid-State-Laufwerken etwas Speicherplatz freizugeben. Hierfür gibt es verschiedene Gründe oder manchmal gar keinen Grund. Als solche haben diese Behauptungen, obwohl sie in der Praxis vielleicht vernünftig sind, eine mythische Ausstrahlung. Zum Beispiel:
Sobald Ihre Festplatte (n) zu 80% voll sind, sollten Sie sie als voll betrachten und sofort entweder löschen oder ein Upgrade durchführen. Wenn sie zu 90% voll sind, sollten Sie davon ausgehen, dass Ihre persönliche Unterhose tatsächlich in Flammen steht, und mit einer angemessenen Menge an Unmittelbarkeit reagieren, um Abhilfe zu schaffen. ( Quelle .)
Um die Müllabfuhr so effizient wie möglich zu halten, sollten nach traditionellen Empfehlungen 20 bis 30 Prozent Ihres Laufwerks leer sein. ( Quelle .)
Mir wurde gesagt, ich solle für eine bessere Leistung etwa 20% frei lassen, damit eine HD wirklich langsamer wird, wenn sie fast voll ist. ( Quelle ) .
Sie sollten Platz für die Auslagerungsdateien und temporären Dateien lassen. Ich lasse derzeit 33% Prozent frei und schwöre, nicht unter 10 GB freien Festplattenspeicher zu kommen. ( Quelle .)
Ich würde sagen, normalerweise 15%, aber mit wie großen Festplatten sind jetzt adays, solange Sie genug für Ihre temporären Dateien und Auslagerungsdatei haben, sind Sie technisch sicher. ( Quelle .)
Ich würde 10% plus unter Windows empfehlen, da die Defragmentierung nicht ausgeführt werden kann, wenn auf dem Laufwerk beim Ausführen nicht so viel freier Speicherplatz vorhanden ist. ( Quelle .)
Sie möchten im Allgemeinen etwa 10% frei lassen, um eine Fragmentierung zu vermeiden ( Quelle .)
Wenn Ihr Laufwerk durchweg zu mehr als 75 oder 80 Prozent ausgelastet ist, sollte ein Upgrade auf eine größere SSD in Betracht gezogen werden. ( Quelle .)
Hat es Forschungsergebnisse gegeben, die vorzugsweise in einem von Fachleuten geprüften Journal veröffentlicht wurden, um den prozentualen oder absoluten freien Speicherplatz zu ermitteln, der für bestimmte Kombinationen von Betriebssystemen, Dateisystemen und Speichertechnologien erforderlich ist (z. B. Magnetplatte vs. Festkörper)? (Im Idealfall würde eine solche Untersuchung auch den Grund dafür erklären, die bestimmte Menge an verwendetem Speicherplatz nicht zu überschreiten, z. B. um zu verhindern, dass dem System der Swap-Speicherplatz ausgeht , oder um Leistungsverluste zu vermeiden.)
Wenn Sie solche Forschungsergebnisse kennen, wäre ich Ihnen dankbar, wenn Sie uns einen Link und eine kurze Zusammenfassung der Ergebnisse zusenden könnten. Vielen Dank!
quelle
Antworten:
Dafür muss man viel weiter als 20 Jahre in der Systemadministration oder auf andere Weise zurückgehen. Zumindest in der Welt der Betriebssysteme für PCs und Workstations war dies vor über 30 Jahren ein aktuelles Thema. Zu der Zeit, als die BSD-Leute das Berkeley Fast FileSystem entwickelten und Microsoft und IBM das High Performance FileSystem entwickelten.
In der Literatur der beiden Autoren wird die Art und Weise erörtert, wie diese Dateisysteme so organisiert wurden, dass die Blockzuweisungsrichtlinie eine bessere Leistung erbrachte, indem versucht wurde, aufeinanderfolgende Dateiblöcke zusammenhängend zu machen. Diskussionen darüber und darüber, dass die Menge und der Ort des freien Speicherplatzes für die Zuweisung von Blöcken die Blockplatzierung und damit die Leistung beeinflusst, finden Sie in den aktuellen Artikeln zu diesem Thema.
Aus der Beschreibung des Blockzuweisungsalgorithmus des Berkeley-FFS sollte beispielsweise ziemlich offensichtlich sein, dass, wenn in der aktuellen und sekundären Zylindergruppe kein freier Speicherplatz vorhanden ist und der Algorithmus somit den Fallback der vierten Ebene erreicht ("eine erschöpfende Suche anwenden") Die Leistung bei der Zuweisung von Plattenblöcken leidet ebenso wie die Fragmentierung der Datei (und damit die Leseleistung).
Auf diesen und ähnlichen Analysen (die bei weitem nicht die einzigen Dateisystem-Designs sind, die darauf abzielen, die Layout-Richtlinien der damaligen Dateisystem-Designs zu verbessern) hat die erhaltene Weisheit der letzten 30 Jahre aufgebaut.
Zum Beispiel: Das im Originalpapier enthaltene Gebot, dass FFS-Volumes zu weniger als 90% voll sein sollen, damit die Leistung nicht beeinträchtigt wird, was auf Experimenten der Entwickler beruhte, lässt sich auch in Büchern über Unix-Dateisysteme, die in diesem Jahrhundert veröffentlicht wurden, unkritisch wiederholen (z. B. Seite 2003, Seite 216) . Wenige Leute stellen dies in Frage, obwohl Amir H. Majidimehr es tatsächlich im vorigen Jahrhundert getan hat und behauptet, dass xe in der Praxis keinen merklichen Effekt beobachtet habe; nicht zuletzt wegen des üblichen Unix-Mechanismus, der die letzten 10% für den Superuser reserviert, was bedeutet, dass eine 90% -ige Disc für Nicht-Superuser sowieso zu 100% voll ist (Majidimehr1996, S. 68).. So auch Bill Calkins, der vorschlägt, dass man in der Praxis bis zu 99% mit Disc-Größen des 21. Jahrhunderts füllen kann, bevor man die Leistungseffekte von geringem freiem Speicherplatz betrachtet, da selbst 1% von modernen Discs ausreicht, um viel unfragmentierten freien Speicherplatz zu haben noch zu spielen (Calkins2002 S. 450) .
Letzteres ist ein Beispiel dafür, wie empfangene Weisheit falsch werden kann. Es gibt andere Beispiele dafür. So wie die SCSI- und ATA-Welten der logischen Blockadressierung und der Zoned-Bit-Aufzeichnung die sorgfältigen Berechnungen der Rotationslatenz im BSD-Dateisystemdesign eher aus dem Fenster geworfen haben, so werfen die physikalischen Mechanismen von SSDs den freien Speicherplatz eher aus dem Fenster erhielt Weisheit, die für Winchester-Discs gilt.
Bei SSDs wirkt sich der freie Speicherplatz auf dem gesamten Gerät , dh auf allen Volumes auf der Disc und dazwischen , sowohl auf die Leistung als auch auf die Lebensdauer aus. Und die eigentliche Grundlage für die Idee, dass eine Datei in Blöcken mit zusammenhängenden logischen Blockadressen gespeichert werden muss, ist die Tatsache, dass SSDs keine Platten zum Drehen und Köpfe zum Suchen haben. Die Regeln ändern sich erneut.
Mit SSDs ist die empfohlene Mindestmenge an freiem Speicherplatz tatsächlich mehr als das traditionelle 10% , die aus Experimenten kommen mit Winchester - Discs und Berkeley FFS vor 33 Jahren. Anand Lal Shimpi gibt zum Beispiel 25%. Dieser Unterschied wird durch die Tatsache verschärft, dass es sich um freien Speicherplatz auf dem gesamten Gerät handeln muss , während sich die 10% auf jedes einzelne FFS-Volume beziehen und somit davon abhängen , ob das Partitionierungsprogramm den gesamten nicht vorhandenen Speicherplatz zu TRIMMEN weiß Von der Partitionstabelle einem gültigen Datenträger zugewiesen.
Hinzu kommen Komplexitäten wie TRIM-fähige Dateisystemtreiber, die Speicherplatz auf Datenträgern freigeben können, und die Tatsache, dass die SSD-Hersteller selbst bereits unterschiedlich viel reservierten Speicherplatz zuweisen, der außerhalb des Geräts (dh für den Host) nicht sichtbar ist ) für verschiedene Verwendungszwecke wie Müllabfuhr und Abnutzungsnivellierung.
Literaturverzeichnis
quelle
Ich kann zwar nicht davon sprechen, dass "Forschung" in "Fachzeitschriften" veröffentlicht wird - und ich möchte mich bei der täglichen Arbeit nicht darauf verlassen müssen -, aber ich kann über die Realitäten von Hunderten von Produktionen sprechen Server unter einer Vielzahl von Betriebssystemen über viele Jahre:
Es gibt drei Gründe, warum eine volle Festplatte die Leistung verringert:
Der erste Punkt ist trivial, zumal kein vernünftiges Produktionssystem jemals Auslagerungsspeicher zum dynamischen Erweitern und Verkleinern von Dateien verwenden würde.
Der zweite Punkt unterscheidet sich stark zwischen Dateisystemen und Workload. Bei einem Windows-System mit gemischter Arbeitslast erweist sich ein Schwellenwert von 70% als durchaus brauchbar. Bei einem Linux ext4-Dateisystem mit wenigen, aber großen Dateien (z. B. Videoübertragungssystemen) kann dies bis zu 90% betragen.
Der dritte Punkt hängt von der Hardware und der Firmware ab, aber insbesondere SSDs mit einem Sandforce-Controller können bei hohen Schreiblasten auf das Löschen freier Blöcke zurückgreifen, was zu einer Erhöhung der Schreiblatenzen um Tausende von Prozent führt. Normalerweise lassen wir 25% auf Partitionsebene frei und beobachten dann eine Füllrate von unter 80%.
Empfehlungen
Mir ist klar, dass ich erwähnt habe, wie sichergestellt werden kann, dass eine maximale Füllrate erreicht wird. Einige zufällige Gedanken, keiner von ihnen "peer reviewed" (bezahlt, gefälscht oder echt), aber alle aus Produktionssystemen.
/var
Gehört nicht zum Root-Dateisystem.df -h
und lassen Sie die Alarmglocken für den Fall los. Dies erspart Ihnen 30 Kernel in einem Root-Dateisystem, in dem automatische Upgrades installiert sind und ohne die Option zum automatischen Entfernen ausgeführt werden.quelle
/var
füllt sich und Ihr Server fällt um.In 20 Jahren Systemadministration habe ich noch nie nachgeforscht, wie viel Speicherplatz für verschiedene Konfigurationen erforderlich ist. Ich vermute, das liegt daran, dass Computer so unterschiedlich konfiguriert sind, dass dies aufgrund der Vielzahl möglicher Systemkonfigurationen schwierig ist.
Um zu bestimmen, wie viel freier Speicherplatz ein System benötigt, müssen zwei Variablen berücksichtigt werden:
Der minimale Platz, der erforderlich ist, um unerwünschtes Verhalten zu verhindern, das selbst eine Fluiddefinition haben kann.
Beachten Sie, dass es nicht hilfreich ist, den erforderlichen freien Speicherplatz allein durch diese Definition zu definieren, da dies dem Sprichwort entspricht, dass es sicher ist, 130 km / h in Richtung einer Mauer zu fahren, bis Sie genau an der Stelle anstoßen, an der Sie damit kollidieren.
Die Rate, mit der Speicherplatz verbraucht wird, wodurch eine zusätzliche variable Menge an Speicherplatz reserviert werden muss, damit das System nicht beeinträchtigt wird, bevor der Administrator Zeit hat, um zu reagieren.
Die spezifische Kombination aus Betriebssystem, Dateisystemen, zugrunde liegender Speicherarchitektur sowie Anwendungsverhalten, virtueller Speicherkonfiguration usw. stellt den Benutzer vor die Herausforderung, einen definitiven Bedarf an freiem Speicherplatz bereitzustellen.
Deshalb gibt es so viele "Nuggets" von Ratschlägen. Sie werden feststellen, dass viele von ihnen Empfehlungen zu einer bestimmten Konfiguration abgeben. Beispiel: "Wenn Sie eine SSD haben, die bei Kapazitätsnähe Leistungsprobleme aufweist, müssen Sie über 20% freien Speicherplatz verfügen."
Da es keine einfache Antwort auf diese Frage ist, der richtige Ansatz zur Identifizierung Ihres Systems minimaler freien Platzbedarf ist , die verschiedenen generischen Empfehlungen angesichts Ihrem System spezieller Konfiguration zu prüfen, stellen Sie dann einen Schwellenwert, überwachen, und bereit sein , es zu justieren wie nötig.
Oder Sie könnten mindestens 20% freien Speicherplatz behalten. Es sei denn, Sie verfügen über ein RAID 6-Volume mit 42 TB, das durch eine Kombination aus SSDs und herkömmlichen Festplatten sowie eine vorab zugewiesene Auslagerungsdatei gesichert ist ... (das ist ein Witz für die ernsthaften Leute.)
quelle
Natürlich ist es einem Laufwerk selbst (Festplatte oder SSD) gleichermaßen egal, wie viele Prozent davon verwendet werden, abgesehen davon, dass SSDs zuvor ihren freien Speicherplatz für Sie löschen können. Die Leseleistung ist exakt gleich, und die Schreibleistung auf SSD kann etwas schlechter sein. Wie auch immer, die Schreibleistung ist auf einem fast vollen Laufwerk nicht so wichtig, da kein Platz zum Schreiben vorhanden ist.
Ihr Betriebssystem, Ihr Dateisystem und Ihre Anwendungen erwarten hingegen, dass Sie jederzeit über freien Speicherplatz verfügen. Vor 20 Jahren war es typisch für eine Anwendung, zu überprüfen, wie viel Speicherplatz Sie auf dem Laufwerk hatten, bevor Sie versuchten, Ihre Dateien dort zu speichern. Heutzutage erstellt die Anwendung temporäre Dateien ohne Ihre Erlaubnis und stürzt normalerweise ab oder verhält sich unregelmäßig, wenn sie dies nicht tun.
Dateisysteme haben eine ähnliche Erwartung. Beispielsweise reserviert NTFS einen großen Teil Ihrer Festplatte für MFT, zeigt Ihnen diesen Speicherplatz jedoch weiterhin als frei an. Wenn Sie Ihre NTFS-Festplatte über 80% ihrer Kapazität füllen, erhalten Sie eine MFT-Fragmentierung, die sich sehr stark auf die Leistung auswirkt.
Darüber hinaus hilft freier Speicherplatz in der Tat gegen die Fragmentierung regulärer Dateien. Dateisysteme neigen dazu, die Fragmentierung von Dateien zu vermeiden , indem sie abhängig von ihrer Größe für jede Datei den richtigen Ort finden. Auf einer fast gefüllten Festplatte stehen ihnen weniger Optionen zur Verfügung, sodass sie schlechtere Entscheidungen treffen müssen.
Unter Windows wird außerdem genügend Speicherplatz für die Auslagerungsdatei erwartet , die bei Bedarf erweitert werden kann. Wenn dies nicht möglich ist, sollten Sie damit rechnen, dass Ihre Apps zwangsweise geschlossen werden. Wenn nur sehr wenig Swap-Platz zur Verfügung steht, kann dies die Leistung in der Tat beeinträchtigen .
Selbst wenn Ihre Auslagerungsdatei eine feste Größe hat, kann es zu einem Absturz des Systems und / oder zu einem Unbooting des Systems (Windows und Linux) kommen, da das Betriebssystem erwartet, dass es während des Bootens auf die Festplatte schreiben kann. Wenn Sie also 90% der Festplattenauslastung erreichen, sollten Sie davon ausgehen, dass Ihre Farben in Flammen stehen. Nicht ein einziges Mal habe ich Computer gesehen, die nicht richtig gestartet wurden, bis die letzten Downloads entfernt wurden, um dem Betriebssystem ein wenig Speicherplatz zu geben.
quelle
Für SSDs sollte etwas Platz übrig bleiben, da sich die Wiederbeschreibungsrate erhöht und sich negativ auf die Schreibleistung der Festplatte auswirkt. Die 80% -ige Auslastung ist ein sicherer Wert, der wahrscheinlich für alle SSD-Festplatten gilt. Einige der neuesten Modelle funktionieren möglicherweise auch bei einer zu 90-95% ausgelasteten Kapazität.
https://www.howtogeek.com/165542/why-solid-state-drives-slow-down-as-you-fill-them-up/
quelle
Die "Regeln" variieren je nach Ihren Anforderungen. Und es gibt Sonderfälle, wie zum Beispiel ZFS: "Bei einer Kapazität von 90% wechselt ZFS von der leistungsbasierten zur platzbasierten Optimierung, was massive Auswirkungen auf die Leistung hat." Ja, das ist ein Design Aspekt von ZFS ... etwas nicht über Beobachtung oder anekdotische Evidenz abgeleitet. Dies ist natürlich weniger problematisch, wenn Ihr ZFS-Speicherpool ausschließlich aus SSDs besteht. Aber auch mit sich drehenden Festplatten können Sie zufriedenstellend 99% oder 100% erreichen, wenn Sie sich mit statischem Speicher beschäftigen und keine erstklassige Leistung benötigen - zum Beispiel Ihre persönliche Lieblingsfilmsammlung, die sich nie und nirgendwo ändert Sicherheit hat Priorität 1.
Als nächstes btrfs - ein extremer Fall: Wenn der freie Speicherplatz zu niedrig wird (ein paar MByte), können Sie den Punkt ohne Rückkehr erreichen. Nein, das Löschen von Dateien ist keine Option, da dies nicht möglich ist. Es ist einfach nicht genügend Speicherplatz zum Löschen von Dateien vorhanden. btrfs ist ein COW-Dateisystem (Copy-on-Write) und Sie können einen Punkt erreichen, an dem Sie Metadaten nicht mehr ändern können. Zu diesem Zeitpunkt können Sie Ihrem Dateisystem noch zusätzlichen Speicher hinzufügen (möglicherweise funktioniert ein USB-Stick), anschließend Dateien aus dem erweiterten Dateisystem löschen, das Dateisystem verkleinern und den zusätzlichen Speicher wieder entfernen. Dies ist wiederum ein Aspekt, der durch das Design des Dateisystems verursacht wird.
Menschen, die Ihnen "echte (ernsthafte) Daten" geben können, sind wahrscheinlich diejenigen, die sich mit "echter (ernsthafter) Speicherung" befassen. Twistys (ausgezeichnete) Antwort erwähnt Hybrid-Arrays (bestehend aus einer großen Menge billiger langsamer Drehungen, vielen schnell drehenden Festplatten, vielen SSDs ...), die in einer Unternehmensumgebung betrieben werden, in der die Geschwindigkeit, mit der sich der Administrator befindet, der wichtigste begrenzende Faktor ist Upgrades bestellen können. Der Wechsel von 16T zu 35T kann 6 Monate dauern. Sie erhalten also ernsthaft gesicherte Berichte, in denen vorgeschlagen wird, den Alarm auf 50% zu setzen.
quelle
Es gibt viele, viele Faktoren, die in sehr rüstspezifischen Mengen zum Ergebnis beitragen. Es gibt also keine feste Zahl, diese kann nur in Abhängigkeit von diesen Parametern gemessen werden. (Das ist wahrscheinlich der Grund, warum andere Benutzer keine spezifischen Untersuchungen zu diesem bestimmten Thema gemacht haben - zu viele Variablen, um irgendetwas aussagekräftiges zusammenzustellen.)
Hardware
Dateisystem
Ladungsart
quelle
Bei mechanischen Antrieben ist zu beachten, dass der Durchsatz an der Außenkante höher ist als an der Innenseite. Dies liegt daran, dass für den größeren Außenumfang mehr Sektoren pro Umdrehung vorhanden sind.
Wenn das Laufwerk die Kapazität erreicht, nimmt die Leistung ab, da nur langsamere innere Sektoren verfügbar sind.
Eine genauere Analyse finden Sie unter https://superuser.com/a/643634
quelle
Dies hängt von der beabsichtigten Verwendung des Laufwerks ab. Im Allgemeinen sind jedoch 20% bis 15% freier Speicherplatz für sich drehende Festplatten und 10% oder mehr für SSDs geeignet.
Wenn dies das Hauptlaufwerk des Computers ist und Dateien möglicherweise verschoben werden, sollten 20% freier Speicherplatz erhebliche Verlangsamungen verhindern. Auf diese Weise steht auf dem gesamten Laufwerk genügend freier Speicherplatz zur Verfügung, damit die Daten nach Bedarf verschoben und kopiert werden können. Ein sich drehendes Laufwerk funktioniert am besten, wenn sich die freien Speicherorte näher an den ursprünglichen Daten befinden, während sich der physische Speicherort auf einer SSD nicht auf die tägliche Leistung auswirkt. Das rotierende Laufwerk sollte also aus reinen Leistungsgründen mehr freien Speicherplatz haben. Auf der SSD verringert der reduzierte freie Speicherplatz die Lebensdauer des Laufwerks, verringert jedoch nicht die Leistung. SSDs versuchen, temporäre Daten und zufällige Download-Dateien an Orten zu speichern, an denen sie am seltensten verwendet werden, damit sie die Zellenauslastung auf dem gesamten Laufwerk verteilen können. Andernfalls altert ein Teil des Laufwerks viel schneller als der Rest.
Wenn es sich um ein Medien- oder Langzeitspeicherlaufwerk handelt, sollten 5% bis 10% frei sein, und 10% wären vorzuziehen, wenn es sich um eine sich drehende Festplatte handelt. Sie benötigen nicht so viel freien Speicherplatz, da für dieses Laufwerk selten Daten verschoben werden müssen, sodass die Leistung bei weitem nicht so wichtig ist. Der freie Speicherplatz ist hauptsächlich nützlich, um fehlerhafte Sektoren zu verwerfen und zu ersetzen und um zu ermöglichen, dass Dateien zusammenhängender sind.
Ich würde kein Laufwerk länger als einen Tag über 95% der Kapazität hinausschieben, es sei denn, es gibt einen sehr guten, klaren Grund.
quelle