Trimmen unter Windows

Caramon2

Lieutenant
Registriert
Jan. 2004
Beiträge
615
Bisher hieß es m. W. immer: Windows trimmt SSDs mit der Defragmentierung (statt sie zu defragmentieren = offline(oder "batched")-dicard) und das war standardmäßig auf wöchentlich getimed.

Inzwischen heißt das "Optimierung" und wird das tägliche durchgeführt (finde ich sinnvoller: Ich habe das "schon immer" auf täglich gesetzt.) und außerdem wird beim löschen sofort getrimmt (online-discard), wovon normalerweise abgeraten wird (s. u.), da es stark bremsen kann.

Wie u. a. hier beschrieben wird, verliert man dadurch auch die Möglichkeit, z. B. versehentlich gelöschtes wiederherzustellen (undelete), weil die Dateien sozusagen "sicher" gelöscht werden (also nicht nur der Verzeichniseintrag, sondern der davon belegte Speicherplatz gleich mit):

https://recoverit.wondershare.de/harddrive-tips/enable-or-disable-trim-on-ssd.html

Dort wird auch beschrieben wir man Trim deaktiviert:

Davon rate ich ausdrücklich ab!

Da in keinen der Artikel/Threads, die ich dazu gefunden habe, zwischen on- und offline-discard unterschieden wird, hätte ja die Möglichkeit bestanden, dass damit nur der online-discard deaktiviert wird, aber Trim per "Optimierung" noch funktioniert.

Da auch darauf niemand einging, habe ich Win11-22H2 auf meiner 2nd int. SSD installiert und es selbst ausprobiert (einfach jeweils das Image der Testpartition in eine zRAM-Disk kopiert: an der Komprimierung sieht man ja, ob die Test-Datei (ein 1,3 GiB ISO) getrimmt wurde, oder die Daten noch da sind):

Sowohl Trim gleich beim löschen, als auch per "Optimierung" ist standardmäßig aktiviert, wobei es egal ist, ob die Home-Version oder die Pro for Workstations. Auch "optimieren" beide täglich. - Das hätte ja auch eine Eigenart der zuerst getesteten P4WS sein können, weil dort voraussichtlich viel mehr Daten geschaufelt werden, als bei einem Home-Version-Nutzer.

Deaktiviert man Trim auf die beschriebene Weise, ist es vollständig deaktiviert!

Aber das wird nicht angezeigt!

Die Optimierung scheint noch ganz normal zu funktionieren: Man kann die Partitionen auf SSDs weiterhin "optimieren", es wird angezeigt dass es erfolgreich durchgeführt wurde, aber es wurde nichts gemacht: Die Daten der gelöschten 1,3 GiB Testdatei waren weiterhin auf der Partition! - Reproduzierbar!

In obigen Link wird auch erklärt, wie mal kontrollieren kann, dass Trim nicht deaktiviert ist: Das am besten gleich machen.

Es muss deaktiviert sein, dass es deaktiviert ist: Also es muss 0 gesetzt sein.

Und nicht vergessen:

Undelete ist damit nicht möglich!

Wer keine Datensicherungen macht, ist selbst schuld.

Btw:

Wie hier beschrieben (inkl. Video), scheinen 16k Cluster für ntfs am besten zu sein.

Ich habe das extra nochmal damit getestet: Auf das trimmen hat die Clustergröße keinen Einfluss (hätte mir auch gewundert, aber den "Spezialisten" bei Microsoft traue ich inzwischen alles zu).

Durch die sehr vielen kleinen Dateien belegt eine frische Windows-Installation mit 16k Cluster ca. 0,5 GiB mehr Platz als mit 4k Cluster (rechnerisch gibt es durchschnittlich pro Datei einen halben Cluster "Verschnitt"), was bei heutigen Laufwerksgrößen aber nicht mehr gravierend ist (meine erste HD war eine 105 MB Quantum SCSI: Mit FFS formatiert ;) ).

………

Siehe hier:

https://wiki.archlinux.org/title/Solid_state_drive#TRIM
If you want to use TRIM, use either periodic TRIM or continuous TRIM. Continuous TRIM is not the most preferred way to issue TRIM commands among the Linux community. For example, Ubuntu enables periodic TRIM by default, Debian does not recommend using continuous TRIM and Red Hat recommends using periodic TRIM over using continuous TRIM if feasible.

oder hier:

https://btrfs.readthedocs.io/en/latest/Trim.html
enabled by mounting filesystem with -o
discard or -o discard=sync , the trim is done right after the file extents get freed, this however could have severe performance hit and is not recommended as the ranges to be trimmed could be too fragmented
 
Ein manuelles eingereifen in die SSD Handhabung ist eigentlich heute gar nicht mehr notwendig, da SSD sehr gerne heute selbst, wenn diese in Ruhe gelassen werden sich selbst neu organiasieren. Gerade SSDs mit SLC Cache müssen dies tun, um die Daten final zu speichern und wieder Platz im "Cache" zu machen.

Warum also das ganze?

Wie du selbst gemerkt hast ist nicht sicher gestellt, dass die Daten auch nicht wieder herstellbar sind, dafür wurde TRIM auch nicht gemacht.

Ein erhöhter Einsatz von TRIM führt nur zu einem höheren Wear-Level der Zellen und damit zu vorzeitigen Verschleiß der SSD und das ohne Nutzen für Datensicherheit.

Warum Du dann noch eine Referenz zu deiner Quantum LPS von 1992 ziehst um zu zeigen, dass Du dich seit 30 Jahren Computer Hardware beschäftigst macht den Text in meinen Augen auch noch nicht wirklich sinnvoll. Dann wird oben WIndows angegeben und unten Links zu Linux.

Ich versteh einfach deine Intention gar nicht.

m. W. immer: Windows trimmt SSDs mit der Defragmentierung
Wieso glaubst Du das, woher weisst Du das?

Seit, glaube war Windows 7, wird TRIM automatisch korrekt gesetzt, wenn das OS auf eine SSD installiert wird.

Das packen von kleinen Dateien in einen logischen Cluster ist meiner Wissen nach eher ein Feakture des Filesystems, als der SSD selbst. NFTS macht das seit langem. Bei FAT wirst Du das denke ich nicht beobachten können, aber hier bin ich mir nicht sicher. Möglich, dass je nach Hersteller ähnliches in die Firmware eingebaut ist.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Kleiner69, sikarr, |Moppel| und 4 andere
Mit
Code:
fsutil behavior query DisableDeleteNotify
kann geprüft werden, ob die TRIM Funktion in Windows aktiv ist. Und mit
Code:
fsutil behavior set DisableDeleteNotify 0
kann TRIM bei Bedarf aktiviert werden.

TRIM gilt unabhängig von irgendwelche Laufwerken, Hardware etc, und bezieht sich unter Windows nur auf das Dateisystem NTFS und ReFS. Wird also TRIM aktiviert (Wert 0), sendet Windows bei jeder Dateioperation (löschen, verschieben) einen TRIM Befehl an den Controller der SSD.

Ob die SSD den TRIM umsetzt und wann sie das macht, ist dem Controller der SSD überlassen.


Weitere Quellen dazu

https://www.crucial.de/articles/about-ssd/what-is-trim

Was macht Trim?​


[...] Der Befehl Trim teilt dem Laufwerk mit, dass die Daten entfernt werden können. Wenn sich der Computer das nächste Mal im Leerlauf befindet, löscht die Active Garbage Collection die Daten. Erfahren Sie mehr über Active Garbage Collection.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Caramon2, Kaulin, Schinken42 und eine weitere Person
Du deaktiviert etwas, was Niemand je anfasst und warnst dann in einem recht unverständlich Text genau davor?
Entgeht mit was?
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Madman1209, Kleiner69, Kaulin und eine weitere Person
tRITON schrieb:
Ein erhöhter Einsatz von TRIM führt nur zu einem höheren Wear-Level der Zellen und damit zu vorzeitigen Verschleiß der SSD und das ohne Nutzen für Datensicherheit.
Wie kann Ttrimm im erhöhten Maßstab eingesetzt werden? Wenn ein vom OS markierter
Block von Trim gelöscht wird, ist er weg und kann nicht ein zweites Mal gelöscht werden. Zudem hat das Filesystem dann mehr Platz und die WA sinkt dadurch eher.
 
  • Gefällt mir
Reaktionen: Redundanz, Caramon2 und Schinken42
Sofern das heute noch aktuell ist, es ist von 2019: Von WindowsArea angepinnt.

@windowsarea


Ihr sollt die SSD Defragmentation übrigens NICHT deaktivieren.... Auch wenn man im Video sieht, wie es THEORETISCH möglich wäre. Microsoft empfiehlt eine SSD Defragmentation!Ist euer NTFS Dateisystem sehr stark fragmentiert, dann wird Windows etwas langsamer, auch wenn es eine SSD ist.Noch ein kleiner Nachtrag, der es nicht ins Video geschafft hat:Mit dem folgenden PowerShell-Befehl könnt ihr den Verlauf der getätigten Defragmentationen anschauen:Get-EventLog -LogName Application -Source „microsoft-windows-defrag“ | sort timegenerated | fl timegenerated, messageWichtig: funktioniert nicht mit PowerShell Core (aus dem Microsoft Store)Im Verlauf werdet ihr sehen, dass Windows einmal im Monat eure SSD defragmentiert.(!) Es gibt jedoch eine Anmerkung zur Version 2004 (und 20H2).Hier gab es zu Beginn einen Fehler, weswegen Windows sich nicht merken konnte, wann es zuletzt Laufwerke optimiert hat. Entsprechend kann es sein, dass man im Verlauf von früh aktualisierten 2004-Installation vor paar Monaten noch wöchentliche statt monatliche Defragmentierungen beobachten kann. Außerdem: es gibt in 2004 aktuell einen noch bestehenden Fehler, wo Windows versucht HDDs im Hintergrund zu trimmen. Das klappt natürlich nicht, keine sorge. Entsprechend sieht es im Verlauf so aus, als wäre die Defragmentierung ebenfalls ungewollt, da Windows nicht zwischen HDD und SSD unterscheidet. Aber wie gesagt, dass ist ein Problem von 2004 + 20H2. Windows 1909 und darunter defragmentieren SSDs, aber trimmen keine HDDs.
 
  • Gefällt mir
Reaktionen: massaker
Fand den Ausgangspost so verwirrend und seh die Kernaussage garnicht.

Hab mir jetzt mal https://www.computerbild.de/artikel/cb-Tipps-Software-Windows-SSD-TRIM-15724039.html durchgelesen.

Ist eine versteckte Anzeige für „kostenlose“ Tools. Trotzdem war der Abschnitt: „was ist Trim“ ganz hilfreich für jemand, der das noch nie gehört hat.

Ich hab seit HDD nicht mehr manuel „defragmentiert“. Ich fummel da auch nicht in den Einstellungen drin rum. Das managt Windows schon…
 
  • Gefällt mir
Reaktionen: Redundanz und Madman1209
tRITON schrieb:
Das packen von kleinen Dateien in einen logischen Cluster ist meiner Wissen nach eher ein Feakture des Filesystems, als der SSD selbst.
Das ist eigentlich auch bei einer SSD so gut wie nie nötig da sie anders funktionieren als die HDDs. Da war es Sinnvoll um beim lesen der Daten quasi alles in einem Rutsch, also hintereinander lesen zu können. Damit wurde verhindert das der Lese/Schreibkopf ständig Neu positioniert werden muss was die Zugriffszeiten senkt.

Wenn eine Datei abgespeichert wird, wird sie in freie Blöcke geschrieben, wenn es genug davon auf der selben Spur gibt werden die auch hintereinander geschrieben. Mit der Zeit entstehen halt Lücken, eine SSD arbeitet anders der Controller kümmert sich um die Platzierung der Daten und berücksichtigt dabei auch das "Alter" der Zelle, d.h. er wird zwangsläufig Daten aufteilen was aber nicht schlimm ist.

Bei diesem Prozess jetzt einzugreifen, schadet man sich eigentlich nur selbst.
Sinatra81 schrieb:
Ich hab seit HDD nicht mehr manuel „defragmentiert“.
Weils auch schlicht nicht nötig ist ausser bei Leuten die meinen das sie das nach 30 Jahren immer noch machen müssen, weils sie es schon immer so gemacht haben.

Selbst Windows hat die Defragmentierung automatisch gemacht, nur leider immer zu einer Zeit wo die wenigsten ihren Rechner anhatten, also meistens so um 02:00. Daher kam auch das manuelle Defragmentieren.
 
  • Gefällt mir
Reaktionen: Caramon2
Was soll jetzt dieser Beitrag über Funktionen die man nicht anfassen muss weil das Betriebssystem die eh schon selber optimal umsetzt?
 
  • Gefällt mir
Reaktionen: Madman1209, Kleiner69 und sikarr
tRITON schrieb:
Ein manuelles eingereifen in die SSD Handhabung ist eigentlich heute gar nicht mehr notwendig, da SSD sehr gerne heute selbst, wenn diese in Ruhe gelassen werden sich selbst neu organiasieren. Gerade SSDs mit SLC Cache müssen dies tun, um die Daten final zu speichern und wieder Platz im "Cache" zu machen.
Ich schreibe nur, dass Windows nicht nur offline-discard nutzt, sondern auch online-discard, so dass undel nicht mehr möglich ist: Da das vielen vermutlich nicht bewusst ist, wollte ich darauf hinweisen.

tRITON schrieb:
Ein erhöhter Einsatz von TRIM führt nur zu einem höheren Wear-Level der Zellen und damit zu vorzeitigen Verschleiß der SSD und das ohne Nutzen für Datensicherheit.
Das ist falsch: Beim trimmen wird der SSD nur mitgeteilt welche Bereiche leer sind, damit sie sie löschen kann. Zellen die schon gelöscht sind, werden nicht nochmal gelöscht. - Das verwechselst du mir einem Secure-Erase, bei dem generell der komplette Flashspeicher gelöscht wird, egal ob er Daten enthält, oder nichts.

Bei einer SSD, die bei SMART nicht nur die Host-Writes zeigt, sondern auch die Flash-Writes (von meinen macht das nur die Crucial BX100) kann man das kontrollieren.

tRITON schrieb:
Warum Du dann noch eine Referenz zu deiner Quantum LPS von 1992 ziehst um zu zeigen, dass Du dich seit 30 Jahren Computer Hardware beschäftigst macht den Text in meinen Augen auch noch nicht wirklich sinnvoll. Dann wird oben WIndows angegeben und unten Links zu Linux.
Wie geschrieben, konnte ich bzgl. Windows keine kompetenten Aussagen dazu finden.
tRITON schrieb:
Wieso glaubst Du das, woher weisst Du das?
Das kann man überall nachlesen.

Schinken42 schrieb:
Du deaktiviert etwas, was Niemand je anfasst und warnst dann in einem recht unverständlich Text genau davor?
Entgeht mit was?
Ich deaktiviere gar nichts.

Ich würde aus den beschriebenen Gründen empfehlen (ausschließlich) den online-discard zu deaktivieren, was Windows aber nicht getrennt kann.

frankyboy1967 schrieb:
Microsoft empfiehlt eine SSD Defragmentation!Ist euer NTFS Dateisystem sehr stark fragmentiert, dann wird Windows etwas langsamer, auch wenn es eine SSD ist.
Das ist m. E. ziemlicher Blödsinn, da die SSD die Daten intern sowieso wild durcheinander ablegt, um die Schreiblast möglichst gleichmäßig zu verteilen.

Da die interne Blockgröße aktueller SSDs inzwischen 16k ist (s. Wiki-Link im anderen Thread), empfehle ich aus den genannten Gründen auch 16k Cluster.

Übrigens sind 16k Cluster sogar schon bei der Installation schneller, selbst per VM und das Festplatten-Image in einer auf Geschwindigkeit optimierten RAM-Disk liegt, wie ich heute Morgen gerade erst getestet habe.

Jethro schrieb:
Was soll jetzt dieser Beitrag über Funktionen die man nicht anfassen muss weil das Betriebssystem die eh schon selber optimal umsetzt?
Darauf hinweisen (davor warnen), dass Windows auch online-discard nutzt und deshalb selbst ein sofortiges undelete mehr möglich ist:
Caramon2 schrieb:
Wer keine Datensicherungen macht, ist selbst schuld.
 
  • Gefällt mir
Reaktionen: Redundanz
wear-level wird nur durch writes erhöht. die finden beim trim nicht statt. trim beeinflusst den gesamten wear-level des drives weder positiv noch negativ. es kann nur dabei helfen den wear-level über alle zellen einigermaßen gleichmäßig zu halten. so dass nicht extrem oft beschriebene zellen bei einem schreibvorgang dann extrem wenig beschrieben zellen ausbremsen. weil diese extremen gibt es durch trim eben nicht (so gut wie)...

was das defragmentieren angeht. das wird immer so mystisch betrachtet, wo es eigtl. sehr simpel ist.
ssd niemals defragmentieren, das wird auch von keinem os automatisiert gemacht, vorausgesetzt es ist "so neu", dass es die unterscheidung zwischen ssd/nvme(flash) und hdd macht.

hdd in modernen os über scheduled task defragmentieren lassen. für anspruchsvollere bzw. tuning-freaks kann man auch in feature-reichen defragtools bestimmen, an welchem physikalischen ort (also eher auf den schnelleren "außenbahn" oder den je weiter innenliegenden langsameren) eine datei oder ein spieleordner liegt.
das hat ganz einfach mit der plattengeometrie zu tun, der am meisten außenliegende zylinder kann sogar im vergleich zum innenliegenden bis zu der doppelten datenrate erreichen. das sieht man ja auch schön an dem graphen in hd tune zum beispiel. betrifft auch access times!

1693600242515.png


und das kann eben mal von 80mb/s bis auf 160mb/s hochgehen, je nachdem wo man welche dateien dann lagert. macht sinn riesen .pak von spielen auf die außenzylinder zu legen und irgendwelche langfrist archive/fotos/videos/dokumente auf die langsameren. weil selbst ein 4k video braucht nur einen bruchteil der 80gb/s bandbreite um abgespielt zu werden. beim laden von spiele-assets kann es dahingegen nie schnell genug gehen.

ich hab z.b. ein "spiele-raid0" wo ich im prinzip meine gesamte steam-/gog-/etc... bibliothek installiert habe (und ggf. auch im netzwerk vorhalte), wo ich aber sehr ähnliche ladezeiten zu einer sata ssd habe, weil 250-300 mb/s eben 3-4x schneller sind als eine billig-hdd mit ~80mb/s. klar immer noch weit von 7500mb/s von nvmes entfernt, aber ich verschwende ungern teuren nvme platz, sobald der vorteil dann in einen vernachlässigbaren bereich kommt und außerdem das austauschen und die ständigen rewrites bei updates etc. stark auf die lebensdauer gehen. vereinzelt habe ich spiele auf nvme, um jegliche aussetzer auszuschließen. dazu zählen aber eher recht platzsparende online games, wie csgo, valorant...

und diesen array muss man auch mal so ein-zwei mal im jahr defragmentieren (wenn man kein auto-defrag über taskscheduler nutzt, wie ich), weil es macht einen RIESEN unterschied für den schreiblesekopf ob deine texturdatei quer über das laufwerk verteilt liegt, weil so oft updates von zig spielen gemacht werden (->dateienflickenteppich) oder ob sie direkt an einem stück liegt.
bei aktuellen 11.17% fragmentierung ist es z.b. mal wieder zeit demnächst den pc ne nacht anzulassen... das ergebnis einer hdd defragmentierung ist definitiv spürbar, gerade wenn es große dateien betrifft die sich häufig fragmentieren und die auch häufig benutzt werden -> spiele assets (die typischen .paks oder z.b. bei battlefield die .cas dateien) die häufig geupdated werden.

1693599489295.png



Caramon2 schrieb:
Ich würde aus den beschriebenen Gründen empfehlen (ausschließlich) den online-discard zu deaktivieren, was Windows aber nicht getrennt kann.

hmm also wenn das getrennt nicht geht, kann ich jetzt zumindest den trim ausschließlich manuell anstoßen? und wenn ja, was wären die schritte. sprich welchen schritt zum abschalten des automatismus und welchen befehl zum durchführen eines manuellen trims, oder verwende ich besser ein tool zum anstoßen desselben?
 
Caramon2 schrieb:
Ich schreibe nur, dass Windows nicht nur offline-discard nutzt, sondern auch online-discard, so dass undel nicht mehr möglich ist: Da das vielen vermutlich nicht bewusst ist, wollte ich darauf hinweisen.


Das ist falsch: Beim trimmen wird der SSD nur mitgeteilt welche Bereiche leer sind, damit sie sie löschen kann. Zellen die schon gelöscht sind, werden nicht nochmal gelöscht. - Das verwechselst du mir einem Secure-Erase, bei dem generell der komplette Flashspeicher gelöscht wird, egal ob er Daten enthält, oder nichts.

Bei einer SSD, die bei SMART nicht nur die Host-Writes zeigt, sondern auch die Flash-Writes (von meinen macht das nur die Crucial BX100) kann man das kontrollieren.


Wie geschrieben, konnte ich bzgl. Windows keine kompetenten Aussagen dazu finden.

Das kann man überall nachlesen.


Ich deaktiviere gar nichts.

Ich würde aus den beschriebenen Gründen empfehlen (ausschließlich) den online-discard zu deaktivieren, was Windows aber nicht getrennt kann.


Das ist m. E. ziemlicher Blödsinn, da die SSD die Daten intern sowieso wild durcheinander ablegt, um die Schreiblast möglichst gleichmäßig zu verteilen.

Da die interne Blockgröße aktueller SSDs inzwischen 16k ist (s. Wiki-Link im anderen Thread), empfehle ich aus den genannten Gründen auch 16k Cluster.

Übrigens sind 16k Cluster sogar schon bei der Installation schneller, selbst per VM und das Festplatten-Image in einer auf Geschwindigkeit optimierten RAM-Disk liegt, wie ich heute Morgen gerade erst getestet habe.


Darauf hinweisen (davor warnen), dass Windows auch online-discard nutzt und deshalb selbst ein sofortiges undelete mehr möglich ist:
du meinst also es besser als ms zu wissen?
 
Zurück
Oben