Trim (fstrim / discard) diaktifkan untuk berjalan mingguan secara default di 18.04.
Ini diatur untuk dijalankan untuk semua sistem file yang terpasang pada perangkat yang mendukung operasi discard.
Ini adalah systemd
layanan yang dikelola melalui systemctl
, bukan CRON.
Lihat status fstrim.timer :
$ systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Thu 2018-07-05 05:45:11 BST; 4h 42min ago
Trigger: Mon 2018-07-09 00:00:00 BST; 3 days left
Docs: man:fstrim
Start / Stop / Restart fstrim.timer :
(tidak mengubah status startup)
$ sudo systemctl [start/stop/restart] fstrim.timer
Aktifkan / Nonaktifkan fstrim.timer :
(tambahkan ke / hapus dari startup, tidak mengubah status aktif saat ini)
$ sudo systemctl [enable/disable] fstrim.timer
Lihat konfigurasi fstrim.timer :
$ systemctl cat fstrim.timer
# /lib/systemd/system/fstrim.timer
[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim
[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true
[Install]
WantedBy=timers.target
Lihat konfigurasi fstrim.service :
$ systemctl cat fstrim.service
# /lib/systemd/system/fstrim.service
[Unit]
Description=Discard unused blocks
[Service]
Type=oneshot
ExecStart=/sbin/fstrim -av
Catatan : ExecStart = / sbin / fstrim -av
Tempat:
-a , Pangkas semua sistem file yang terpasang pada perangkat yang mendukung operasi discard.
-v , eksekusi Verbose. Keluarkan jumlah byte yang diteruskan dari sistem file ke tumpukan blok ke perangkat untuk kemungkinan dibuang.
Lihat entri jurnal systemd terkait :
$ journalctl -u fstrim.timer
Jul 04 14:18:41 user-laptop systemd[1]: Started Discard unused blocks once a week.
Jul 04 21:59:26 user-laptop systemd[1]: Stopped Discard unused blocks once a week.
etc...
$ journalctl -u fstrim.service
Jun 25 10:59:44 user-laptop systemd[1]: Starting Discard unused blocks...
Jun 25 10:59:48 user-laptop fstrim[955]: /: 92.5 GiB (99335237632 bytes) trimmed
Jun 25 10:59:48 user-laptop systemd[1]: Started Discard unused blocks.
-- Reboot --
Jul 02 04:27:41 user-laptop systemd[1]: Starting Discard unused blocks...
Jul 02 04:27:46 user-laptop fstrim[1032]: /: 92.3 GiB (99150807040 bytes) trimmed
Jul 02 04:27:46 user-laptop systemd[1]: Started Discard unused blocks.
etc...
/lib/systemd/system/fstrim.timer
(OnCalendar=weekly
) dan apa dengan/lib/systemd/system/fstrim.service
(ExecStart=/sbin/fstrim -av
).Sunting: Silakan baca komentar, jawaban ini mencampur dua mekanisme!
Jawaban lama
ada poin penting yang perlu ditambahkan ke jawaban @Broadsworde untuk membuatnya lengkap.
Sementara di laptop saya semua timer dan layanan diaktifkan, entri log fstrim hilang (hanya:
starting… stopping… reboot… starting…
dll.).Langkah hilang
Anda mungkin perlu menandai sistem file sebagai yang dapat dibuang . Jika sistem file tidak ditandai dapat dibuang, trim akan melewatinya [1].
Untuk menandai sistem file sebagai discardable, Anda memiliki dua opsi:
1. Opsi:
tune2fs
sudo tune2fs -o discard /dev/mapper/ubuntu--vg-root
Ini akan menetapkan opsi buangan sebagai standar untuk perangkat ext4 saya. Jika Anda tidak menggunakan enkripsi, coba
/dev/sda
saja.2. Opsi:
/etc/fstab
Pastikan untuk menambahkan atau menambahkan opsi
discard
ke opsi pemasangan yang ada. Contohnya seperti ini:/dev/mapper/ubuntu--vg-root / ext4 discard,relatime,errors=remount-ro 0 1
Hanya setelah ini layanan pengatur waktu akan benar - benar melakukan sesuatu.
Catatan kaki
TRIM
operasi. Tetapi di linux, ini adalah flag sistem file. Namun, perangkat yang menjalankan sistem file perlu mendukungTRIM
operasi. Untuk melihat apakah perangkat Anda mendukungnya, gunakan:sudo hdparm -I /dev/sda | grep -i TRIM
.sumber
mount
's halaman man menyatakan bahwa «Masalah fungsi membuang sering perintah untuk membiarkan ruang reclaim perangkat blok dibebaskan oleh filesystem. [...] mungkin memiliki dampak kinerja yang signifikan . ( Perintah fstrim juga tersedia untuk memulai trim batch dari userspace.) »