SSD Trim automatisch ausführen

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • SSD Trim automatisch ausführen

      Ich habe soeben Trim auf meiner Dm900 SSD getestet und es wird leider nicht automatisch ausgeführt.

      Erstmal checken ob Trim unterstützt wird.

      Source Code

      1. root@dm900:/media/hdd$ hdparm -I /dev/sda | grep -i TRIM
      2. * Data Set Management TRIM supported (limit 8 blocks)
      Trim wird unterstützt!

      Tempdatei mit Zufallswerten erzeugen.

      Source Code

      1. root@dm900:/media/hdd$ dd if=/dev/urandom of=tempfile count=100 bs=512k
      2. 100+0 records in
      3. 100+0 records out
      4. 52428800 bytes (50.0MB) copied, 9.131726 seconds, 5.5MB/s
      Cache löschen.

      Source Code

      1. root@dm900:/media/hdd$ sync
      2. root@dm900:/media/hdd$ sync
      Den Block rausfinden in dem die Datei beginnt.

      Source Code

      1. root@dm900:/media/hdd$ hdparm --fibmap tempfile
      2. tempfile:
      3. filesystem blocksize 4096, begins at LBA 40; assuming 512 byte sectors.
      4. byte_offset begin_LBA end_LBA sectors
      5. 0 4559192 4559207 16
      6. 8192 5243000 5243047 48
      Den Block auslesen.

      Source Code

      1. root@dm900:/media/hdd$ hdparm --read-sector 4559192 /dev/sda
      2. /dev/sda:
      3. reading sector 4559192: succeeded
      4. cfa7 2eb6 26ef 1286 735e 6a49 2893 e101
      5. 9f72 1f15 4cc5 9706 e3a1 42cb 07a6 b2eb
      Tempdatei und den Cache löschen.

      Source Code

      1. root@dm900:/media/hdd$ rm tempfile
      2. root@dm900:/media/hdd$ sync
      3. root@dm900:/media/hdd$ sync
      Den Block nochmals einlesen.

      Source Code

      1. root@dm900:/media/hdd$ hdparm --read-sector 4559192 /dev/sda
      2. /dev/sda:
      3. reading sector 4559192: succeeded
      4. cfa7 2eb6 26ef 1286 735e 6a49 2893 e101
      5. 9f72 1f15 4cc5 9706 e3a1 42cb 07a6 b2eb
      Die Daten sind noch da, d.h. Trim wurde nicht automatisch ausgeführt.


      Trim manuell ausführen.

      Source Code

      1. root@dm900:/media/hdd$ fstrim /media/hdd

      Den Block nochmal einlesen.

      Source Code

      1. root@dm900:/media/hdd$ hdparm --read-sector 4559192 /dev/sda
      2. /dev/sda:
      3. reading sector 4559192: succeeded
      4. 0000 0000 0000 0000 0000 0000 0000 0000
      5. 0000 0000 0000 0000 0000 0000 0000 0000
      Das manuelle Trimmen hat also funktioniert!

      Was muss ich tun damit die SSD automatisch nach dem Löschen einer Datei getrimmt wird? (wie unter Windows seit 7 und unter Ubuntu seit 12.04)

      Danke im Voraus!
    • Wie sehen die mount Optionen in der fstab aus?

      soweit ich weiß, wird automatisches trim erst ab kernel 3.2 unterstützt - bin jetzt aber nicht ganz sicher
      SSD caching ab kernel 3.9
      im aktuellen DreamOS wird der kernel 3.14 verwendet

      Aktuelle Linuxdistributionen empfehlen auch ein weekly trim statt über die discard Option in der fstab
      siehe auch wiki.debian.org/SSDOptimization