Ubuntu 18.04 kurulumumda TRIM etkin mi?


37

Haftalık TRIM'in varsayılan olarak 14.10'dan itibaren etkin olduğunu biliyorum. Kaynak: TRIM nasıl etkinleştirilir? Ancak çalışan sudo nano /etc/cron.weekly/fstrimboş bir dosya döndürür. Ayrıca tail -n1 /etc/cron.weekly/fstrimbu dosyanın mevcut olmadığını da söylüyor.

Koşu lsblk -Ddöndürür olmayan sıfır değerlerini DISC-GRANve DISC-MAX TRIM yani benim SSD desteklenir. SSD'm için haftalık TRIM gerçekten etkin mi, yoksa değil mi?

Kingston SSD kullanıyorum

Yanıtlar:


58

Kırpma (fstrim / discard), 18.04'te varsayılan olarak haftalık olarak çalışabilir .
Atma işlemini destekleyen aygıtlardaki tüm bağlı dosya sistemleri için çalışacak şekilde ayarlanmıştır.

CRON systemdaracılığıyla yönetilen bir hizmettir systemctl.

Fstrim.timer durumunu görüntüleyin :

$ 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

Başlat / Durdur / Yeniden Başlat fstrim.timer :
(başlangıç ​​durumunu değiştirmez)

$ sudo systemctl [start/stop/restart] fstrim.timer

Etkinleştir / Devre Dışı Bırak fstrim.timer :
(başlangıçtan ekle / kaldır, mevcut aktif durumu değiştirmez)

$ sudo systemctl [enable/disable] fstrim.timer

Fstrim.timer yapılandırmasını görüntüleyin :

$ 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

Fstrim.service yapılandırmasını görüntüleyin :

$ systemctl cat fstrim.service
# /lib/systemd/system/fstrim.service
[Unit]
Description=Discard unused blocks

[Service]
Type=oneshot
ExecStart=/sbin/fstrim -av

Not : ExecStart = / sbin / fstrim -av
Nerede:
-a , Atılan işlemi destekleyen aygıtlardaki tüm bağlı dosya sistemlerini kırpın .
-v , Verbose uygulaması. Potansiyel atma için dosya sisteminden blok yığından geçen bayt sayısını aygıta çıkarın.

İlgili sistem günlüğü girişlerini görüntüleyin :

$ 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...

2
Başvuru için, ne zaman /lib/systemd/system/fstrim.timer( OnCalendar=weekly) ve ne tarafından /lib/systemd/system/fstrim.service( ExecStart=/sbin/fstrim -av) kontrol edilir .
Moilleadóir

1
Güzel posta! Size "cat" komutlarını, özel systemctl komutları ile değiştirmenizi öneririm: cat /lib/systemd/system/fstrim.timer -> systemctl cat fstrim.timer. Genel olarak, bu komut etkin olan hizmetin sürümünü gösterir. Bu / lib / systemd altındaki olabilir, ancak / etc / systemd altındaki değiştirilmiş bir versiyon da olabilir.
vanadyum

Aktif olduğunda, tüm sürücüler için yapar mı? Örneğin, bir SSD'ye ubuntu taktım ancak ext4 bölümü olarak başka bir SSD'ye takılıyorum. Her ikisini de otomatik olarak düzeltir mi? (durum aktif olduğunu söylüyor)
Eduardo

talep üzerine nasıl aktive edilir? (örneğin, şimdi, bir öğle yemeği için gitmek istiyorum)
ustura

Herhangi bir sistem hizmetini manuel olarak başlatabilir / durdurabilir / yeniden başlatabilirsiniz: $ sudo systemctl [start / stop / restart] [servis adı] .service
Broadsworde

2

Düzenleme: Lütfen yorumları okuyunuz, bu cevap iki mekanizmayı karıştırmaktadır!

Eski cevap

Bunu tamamlamak için @Broadsworde'nin cevabına eklenmesi gereken önemli bir nokta var.

Dizüstü bilgisayarımda tüm zamanlayıcılar ve hizmetler etkinken, ilk kayıt defteri girişi eksikti (yalnızca: starting… stopping… reboot… starting…vb.).

Eksik adım

Dosya sistemlerini atılabilir olarak işaretlemeniz gerekebilir . Bir dosya sistemi göz ardı edilebilir olarak işaretlenmemişse, kırpma onu atlayacaktır [1].

Bir dosya sistemini çıkarılabilir olarak işaretlemek için iki seçeneğiniz vardır:

1. Seçenek: tune2fs

sudo tune2fs -o discard /dev/mapper/ubuntu--vg-root

Bu, ext4 cihazım için atma seçeneğini varsayılan olarak ayarlayacaktır. Şifreleme kullanmıyorsanız, /dev/sdabunun yerine deneyin .

2. Seçenek: /etc/fstab

Seçeneği discardmevcut takma seçeneklerinizi hazırladığınızdan veya eklediğinizden emin olun . Örneğin böyle:

/dev/mapper/ubuntu--vg-root / ext4 discard,relatime,errors=remount-ro 0 1

Ancak bundan sonra zamanlayıcı servisi gerçekten bir şeyler yapar.

Dipnotlar

  • [1] aslında cihazın TRIMçalışmasını desteklemesi gerekiyor . Ancak Linux'ta bu bir dosya sistemi bayrağıdır. Yine de, dosya sistemi üzerinde çalışan cihazın TRIMişlemi desteklemesi gerekiyor . Cihazınız, kullanımını destekliyorsa olmadığını görmek için: sudo hdparm -I /dev/sda | grep -i TRIM.

Benim yüklemede; dosya sistemleri (başlangıçta 18.10 sonradan 19.04 yükseltilmiş) etmedi sahip atma seçeneği sağladı. Sistemimde sadece SSD kullanıyorum; ve hiçbir zaman mekanik bir HD'ye sahip değildi. Onları tune2fs ile etkinleştirdim . Sistemin neden varsayılan olarak etkinleştirilmediğine dair herhangi bir fikir veya açıklama?
FedonKadifeli

1
Bunun doğru olduğunu sanmıyorum. Silme seçeneği, dosyalar dosya sisteminden silindiğinde blokları keser. Systemd hizmeti kullanılmayan blokları dosya sisteminde düzenli aralıklarla keser. Bunlar farklı şeyler. Atma seçeneği bazı sistemlerdeki performansı olumsuz etkileyebilir, bu nedenle periyodik olan tartışmalı olarak daha iyidir.
xioxox

1
@ xioxox haklı. Son mount'ın adamı sayfası bu devletler çıkartma işlevi sorunları « komutları sık dosya sistemi tarafından serbest blok aygıt geri kazanımı alanı izin. [...] önemli bir performans etkisi olabilir . ( Fstrim komutu, kullanıcı alanından toplu düzenlemeleri başlatmak için de kullanılabilir .) »
Fabio A.

Teşekkürler, cevabını onaylayarak düzenledim. Lütfen bu cevabı küçümsemeye devam etmeyin: Yorumlarınız değerli olduğu için bunu tutmak istiyorum!
Ben,
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.