Ubuntu 14.10 dan seterusnya
Di Ubuntu 14.10 dan 15.04, TRIMming terjadi secara otomatis setiap minggu di semua SSD yang didukung oleh fstrim
.
$ tail -n1 /etc/cron.weekly/fstrim
/sbin/fstrim --all || true
Sejak 15,04 Ubuntu menggunakan systemd dan timernya ( man systemd.timer
, Arch wiki )
systemctl list-timers
systemctl status fstrim.timer
Ubuntu 14.04
Pada Ubuntu 14.04, TRIM terjadwal diaktifkan secara default untuk Intel, SAMSUNG, OCZ, Patriot dan Sandisk SSD. Jika Anda memiliki merek lain, Anda dapat menonaktifkan pemeriksaan vendor dengan menjalankan perintah berikut:
sed -i 's/exec fstrim-all/exec fstrim-all --no-model-check/g' /etc/cron.weekly/fstrim
(atau cukup edit file /etc/cron.weekly/fstrim
dan tambahkan --no-model-check
)
Ubuntu 13.10 dan Sebelumnya
Ada tiga cara untuk melakukan TRIM, manual, terjadwal, dan otomatis:
TRIM manual
Di Ubuntu ini dapat dilakukan dengan fstrim
:
sudo fstrim /
namun itu tidak diperlukan ketika TRIM terjadwal atau otomatis diaktifkan, sebagaimana dirinci dalam bagian di bawah ini.
Catatan: Untuk Ubuntu 11.04 dan sistem sebelumnya, fstrim tidak tersedia sehingga Anda harus menggunakan wiper.sh
disertakan dengan hdparm
di/usr/share/doc/hdparm/contrib/wiper.sh.gz
TRIM Terjadwal (Disarankan)
Ini adalah metode yang saat ini direkomendasikan, dan direncanakan akan diaktifkan per default untuk Ubuntu 14.04 . Berikut ini cara mengaktifkannya secara manual di versi lama Ubuntu (11.10 hingga 13.10):
Buat file skrip pekerjaan CRON mingguan:
gksudo gedit /etc/cron.weekly/fstrim
Rekatkan kode berikut dalam file, lalu simpan dan tutup file:
#! /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
Perhatikan bahwa hal di atas mengasumsikan bahwa hanya sistem file root Anda /
yang terletak pada SSD. Jika Anda memiliki lebih banyak titik pemasangan yang berada di satu atau lebih SSD, tambahkan mereka SSD_MOUNT_POINTS
seperti yang dijelaskan dalam kode.
Jadikan skrip dapat dieksekusi:
sudo chmod +x /etc/cron.weekly/fstrim
Dan akhirnya mengujinya:
sudo /etc/cron.weekly/fstrim
Jika Anda tidak melihat kesalahan, tugas cron Anda seharusnya bekerja dengan baik.
TRIM Otomatis (Usang, Lambat)
TRIM otomatis telah didukung sejak Ubuntu 10.10 (kernel 2.6.33) dengan sistem file EXT4. Namun, mengirimkan perintah TRIM ke SSD secara waktu-nyata - setelah setiap penghapusan - telah dikenali membuat penghapusan jauh lebih lambat dari biasanya pada beberapa drive. Karenanya direkomendasikan TRIM mingguan melalui pekerjaan cron (dijelaskan di atas).
Untuk mengaktifkan TRIM otomatis pada drive atau partisi, mereka harus dipasang dengan discard
opsi di fstab
. Pertama-tama buat cadangan fstab Anda lalu buka untuk diedit:
sudo cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
Tambahkan discard
ke entri opsi fstab (dipisahkan koma) untuk drive SSD atau setiap partisi.
UUID=00000000-0000-0000-0000-000000000000 / ext4 discard,errors=remount-ro 0 1
Tutup dan simpan fstab, lalu reboot dan TRIM otomatis sekarang sudah berfungsi.
Menguji TRIM otomatis
Untuk menguji apakah TRIM berfungsi, lakukan perintah ( sumber ) berikut:
cd / # Replace with SSD file system
sudo dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
sudo hdparm --fibmap tempfile
Dari hasil salin nomor di bawah begin_LBA
dan verifikasi nama perangkat SSD Anda: System->Administration->Disk Utility
mis. Sda, sdb, sdc ...
Jalankan yang berikut tetapi ganti [ADDRESS]
(begin_LBA) dan sdX
(nama perangkat SSD) dengan detail yang diperoleh di atas.
sudo hdparm --read-sector [ADDRESS] /dev/sdX
output harus berupa rangkaian panjang karakter untuk sektor-sektor tersebut
sudo rm tempfile
sync
Ulangi hdparm
perintah dari atas:
sudo hdparm --read-sector [ADDRESS] /dev/sdX
Jika Anda hanya mendapatkan nol maka TRIM otomatis berfungsi. Namun jika setelah menghapus file sektor masih tidak kosong maka tunggu sebentar dan jalankan perintah lagi.