Ubuntu 14.10 sonrası
Ubuntu 14.10 ve 15.04'te, TRIMming tarafından desteklenen tüm SSD'lerde her hafta otomatik olarak gerçekleşir fstrim
.
$ tail -n1 /etc/cron.weekly/fstrim
/sbin/fstrim --all || true
15.04'ten beri Ubuntu systemd ve zamanlayıcısını kullanmaktadır ( man systemd.timer
, Arch wiki )
systemctl list-timers
systemctl status fstrim.timer
Ubuntu 14.04
Ubuntu 14.04'ten itibaren, zamanlanmış TRIM, Intel, SAMSUNG, OCZ, Patriot ve Sandisk SSD'ler için varsayılan olarak etkindir. Başka bir markanız varsa, aşağıdaki komutu çalıştırarak satıcı kontrolünü devre dışı bırakabilirsiniz:
sed -i 's/exec fstrim-all/exec fstrim-all --no-model-check/g' /etc/cron.weekly/fstrim
(veya sadece dosyayı düzenleyip /etc/cron.weekly/fstrim
ekleyin --no-model-check
)
Ubuntu 13.10 ve Daha Önce
TRIM, manuel, zamanlanmış ve otomatik işlem yapmanın üç yolu vardır:
Manuel TRIM
Ubuntu'da bu şu şekilde yapılabilir fstrim
:
sudo fstrim /
ancak, aşağıdaki bölümlerde ayrıntılandırıldığı gibi, programlanmış veya otomatik TRIM etkinleştirildiğinde gerekli değildir.
Not: For Ubuntu 11.04 ve daha önceki sistemlerde, fstrim kullanılamaz yüzden kullanmak zorunda wiper.sh
birlikte verilen hdparm
içinde/usr/share/doc/hdparm/contrib/wiper.sh.gz
Zamanlanmış TRIM (Önerilen)
Bu şu anda önerilen yöntemdir ve Ubuntu 14.04 için varsayılan başına etkinleştirilmesi planlanmaktadır . Aşağıda, ubuntu'nun eski sürümlerinde manuel olarak nasıl etkinleştirileceği (11.10 - 13.10):
Haftalık bir CRON iş komut dosyası oluşturun:
gksudo gedit /etc/cron.weekly/fstrim
Aşağıdaki kodu dosyaya yapıştırın, sonra dosyayı kaydedin ve kapatın:
#! /bin/sh
# By default we assume only / is on an SSD.
# You can add more SSD mount points, separated by spaces.
# Make sure all mount points are within the quotes. For example:
# SSD_MOUNT_POINTS='/ /boot /home /media/my_other_ssd'
SSD_MOUNT_POINTS='/'
for mount_point in $SSD_MOUNT_POINTS
do
fstrim $mount_point
done
Yukarıdakilerin yalnızca kök dosya sisteminizin /
bir SSD'de bulunduğunu varsaydığını unutmayın . Bir veya daha fazla SSD'de bulunan daha fazla bağlama noktanız varsa, bunları SSD_MOUNT_POINTS
kodda açıklandığı şekilde ekleyin .
Komut dosyasını yürütülebilir duruma getirin:
sudo chmod +x /etc/cron.weekly/fstrim
Sonunda test et:
sudo /etc/cron.weekly/fstrim
Hata görmüyorsanız, cron işiniz iyi çalışıyor olmalıdır.
Otomatik TRIM (Kaldırıldı, Yavaş)
EXT4 dosya sistemiyle Ubuntu 10.10 (çekirdek 2.6.33) tarihinden beri otomatik TRIM desteklenmektedir. Ancak, gerçek zamanlı olarak TRIM komutlarının SSD'ye gönderilmesi - her silme işleminden sonra - silme işleminin bazı sürücülerdeki normalden daha yavaş gerçekleştirildiği kabul edildi. Bu nedenle (yukarıda açıklanmıştır) bir cron işi aracılığıyla haftalık zamanlanmış bir TRIM önerilir.
Bir sürücüdeki veya bölümdeki otomatik TRIM'i etkinleştirmek için, içindeki discard
seçeneklerle birlikte monte edilmeleri gerekir fstab
. Öncelikle fstab'ınızı yedekleyin ve ardından düzenleme için açın:
sudo cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
discard
SSD sürücüsü veya her bölüm için fstab options girişine (virgülle ayrılmış) ekleyin .
UUID=00000000-0000-0000-0000-000000000000 / ext4 discard,errors=remount-ro 0 1
Fstab'ı kapatın ve saklayın, ardından yeniden başlatın ve otomatik TRIM şimdi çalışıyor olmalı.
Otomatik TRIM testi
TRIM'in çalışıp çalışmadığını test etmek için aşağıdaki komutları verin ( kaynak ):
cd / # Replace with SSD file system
sudo dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
sudo hdparm --fibmap tempfile
Çıktıdan aşağıdaki numarayı kopyalayın begin_LBA
ve SSD'nizin cihaz adını doğrulayın: System->Administration->Disk Utility
örneğin sda, sdb, sdc ...
Aşağıdakini çalıştırın, ancak değiştirin [ADDRESS]
(begin_LBA) ve sdX
(SSD cihaz adı) yukarıda verilen ayrıntılarla birlikte.
sudo hdparm --read-sector [ADDRESS] /dev/sdX
çıktı, bu sektörler için uzun bir karakter dizisi olmalıdır
sudo rm tempfile
sync
hdparm
Yukarıdaki komutu tekrarlayın :
sudo hdparm --read-sector [ADDRESS] /dev/sdX
Yalnızca sıfır alırsanız otomatik TRIM çalışıyor demektir. Ancak dosyayı çıkardıktan sonra sektörler hala boş değilse, bir süre bekleyin ve komutu tekrar çalıştırın.