Otomatik TRIM ve manuel TRIM


13

Şu anda yeni TP ile nasıl kırpacağımı öğrenmeye çalışıyorum ve manuel / çevrimiçi kırpma farkını merak ediyordum.

İşte benim kurulum:

SSD Samsung 830, 128GB ve Xubuntu 12.10 içeren ThinkPad T430'lar, donanımın sistemimde çalışıp çalışmadığını kontrol etmek için bazı çıktılar (bunları buradan edinin : http://wiki.ubuntuusers.de/SSD/TRIM )

root@eike-tp:~# sudo hdparm -I /dev/sda | grep -i TRIM
   *    Data Set Management TRIM supported (limit 8 blocks)

İlk olarak, çevrimiçi kırpmayı denedim: TRIM nasıl etkinleştirilir?

eklenen fstab ile ıskarta:

UUID=d6c49c17-a4f1-466c-9f7e-896c20db3bba /  ext4  discard,noatime,errors=remount-ro  0  1
# swap was on /dev/sda5 during installation
UUID=a0322f5f-c6c1-4896-863f-668f0638d8cf none  swap  sw  0   0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

Çalışıp çalışmadığını test etmeye çalıştım (ama / dev / sda ile denediğimde sıfır almıyorum), ancak bu yöntemin sadece SSD tip 2 ile mümkün olduğunu ve tip 3'e sahip olduğumu öğrendim. işe yarayıp yaramadığını bilmiyorum.

Ubuntuwiki (ilk bağlantı) manuel kırpma önerir, bu yüzden atmak yerine günlük bir cronjob kurdum:

#!/bin/sh
LOG=/var/log/batched_discard.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG

wiki makalesi haftalık veya günlük olarak öneriliyor. Şimdi sorularıma:

Otomatik düzeltmeyi ne sıklıkta yapar? Ne sıklıkla önerilir? Çevrimiçi mi manuel düzeltme mi?

Yardımın için teşekkürler

Yanıtlar:


4

Otomatik ve manuel kırpma arasındaki fark, otomatik kırpma ( discardmontaj seçeneğini kullanarak ) herhangi bir dosya silindikten sonra serbest blokları senkronize etmek için keserken, manuel kırpma (kullanma fstrim) tüm boş alanı bir kerede kırpmasıdır.

Test yapmak

Otomatik kırpmanın çalışıp çalışmadığını test etmenin bir yolu büyük bir dosya oluşturmak ve silmek olacaktır:

user@host:/somewhere$ dd if=/dev/urandom bs=1M count=100 of=bigfile
user@host:/somewhere$ sync
user@host:/somewhere$ rm bigfile
user@host:/somewhere$ sync

Otomatik atma çalışıyorsa, daha önce kesilmiş olmaları gerektiği için manuel olarak yeniden kesme işlemi birçok bloğu kesmez. sudo discard -vDosya sisteminizde çalıştırın ve kaç bloğun kırpıldığını görün.

Öneri

Hangi için tavsiye edilir: Deneyimlerime göre, otomatik kırpma performansı öldürür. Ancak, bu muhtemelen donanıma bağlıdır; sürücünüzde iyi olabilir.

Manuel kırpma kullanıyorsanız, ne sıklıkta olduğu gibi, SSD'nizdeki boş alan miktarıyla karşılaştırıldığında, tipik iş yükünüzde veri yazma hızını düşünün. Diskiniz silinmiş verilerle dolmadan önce yeterince sık kırpmak istiyorsunuz. SSD'niz çoğunlukla boş alansa veya disk iş yükünüz hafifse, bazen (haftalık veya daha uzun) kırpma yeterli olacaktır. SSD'niz çoğunlukla doluysa veya örneğin video dosyalarını sık sık düzenlerseniz, daha sık kırpmanız gerekir.


2

Depolama mühendisi değilim ve kendimle ilgili endişelerim var , ancak zamanlama konusunda muhtemelen yararlı bir öneri yapabilirim. TRIM'in SSD üzerinde endişe verici bir aşınmaya neden olmadığından oldukça eminim. Sadece geri dönüşüm blokları başlamadan önce diskinizin geçmesi gerekecek temizlik. Toplu TRIMming için en iyi program kullanıma bağlıdır; sıklık ve boş alan yazma işlevi düşünmeliyim. Bunu akılda tutarak, cron işini ve fstrim -vbirkaç gün boyunca elden çıkaracağım .

Bence işin püf noktası, toplu TRIM'in SSD'yi normal bloklar yazmak için geri dönüştürülmeden önce SSD'yi yazmaya hazırladığı ve böylece performansı zedelediği bir program yapmaktır. 24 saat bekleyin ve bekleyin. Boş alandan çok daha az blok kırptığını iddia ederse, muhtemelen toplu iş TRIMming'den daha az sıklıkta servis edilirsiniz.



2

SSD'mi her önyüklemede kesiyorum. Başlangıçtan 20 saniye sonra adlandırılan bir sh dosyası hazırladım. Bir günlük dosyası yerine sistem bildiriminde fstrim çıktısını görüntülemeyi seçtim.

önce dizininizde trim.shdosyayı oluşturun~/bin

#! /bin/sh
notify-send "TRIM" "$(sudo fstrim -v /)"

Şimdi kullanıcıya fstrim'i çalıştırmak için ayrıcalıklar vermeliyiz, bu yüzden bir şifre girmemize gerek yok. Sudoers dosyanızı visudo ile açın ve aşağıdaki satırı ekleyin:

yourusername  ALL=(ALL) NOPASSWD: /sbin/fstrim

Eğer eklerseniz home/yourusername/binsenin klasörü $PATHayrıca bir şifresi olmadan komuta 'süs' ile terminali elle düzeltme yapabilirsiniz.

Artık komut dosyasını başlangıç ​​uygulamalarına ekleyebilir ve bir gecikme belirleyebilirsiniz. Yeni sudoers girişinizin yüklenebilmesi için yeniden oturum açmanız / oturum açmanız gerekiyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.