9Sep

Ubuntu SSD'leri Varsayılan Olarak TRIM ETMEZ: Neden Olmaz ve Kendiniz Etkinleştirirsiniz

Ubuntu, TRIM'i SSD'ler için varsayılan olarak Ubuntu 14.04'te etkinleştirmek istiyor. Başka bir deyişle, Ubuntu zaten TRIM'i kullanmıyor, bu nedenle SSD zamanla yavaşlıyor. Ama neden Ubuntu zaten TRIM'i kullanmıyor?

Bu haber muhtemelen Ubuntu ve diğer Linux dağıtımlarının zaten TRIM'i kullandığını varsayan birçok insana sürpriz olacak. TRIM, SSD'lerin zamanla yavaşlamasını engeller ve SSD bakımının gerekli bir parçasıdır.

Neden TRIM Önemli

Daha önce TRIM'in neden önemli olduğunu örtüyoruz. Eski, manyetik bir sabit sürücüdeki bir dosyayı silerseniz, bilgisayar yalnızca o dosyayı silinmiş olarak işaretler. Dosyanın verileri sabit sürücüye yapışıyor - bu nedenle silinmiş dosyalar kurtarılabilir. Bilgisayar, sektörlerine yeni verilerle yazarken silinen dosyaların üzerine yazacaktır.

Katı hal sürücüler( SSD'ler) farklı şekilde çalışır. Bir SSD'ye bir dosya yazdığınızda, bilgisayar önce verileri yazdığı sektörlerdeki verileri silmeniz gerekir. Tek bir operasyonla sektörlere "üzerine yazamaz" - önce bunları temizlemeli, daha sonra boş sektörlere yazmalıdır.

Bu, SSD'nin zamanla yavaşlayacağı anlamına gelir. SSD'nin sektörlerine yazı yazmak ilk kez hızlı olacak. Bazı dosyaları sildikten sonra tekrar yazmaya çalıştıktan sonra daha uzun sürecektir. Bu, Google orijinal Nexus 7'nin zamanla çok yavaşlamasının sebebinin büyük bir kısmı.Google Android 4.3'te TRIM'i uygulayarak bunu düzeltti.(Android ayrıca Linux çekirdeğini kullanır.)

TRIM etkin haldeyken, işletim sistemi SSD'ye bir dosyayı her sileceğini bildirir. Sürücü daha sonra dosyanın içeriğini içeren sektörleri silebilir, dolayısıyla sektörlere yazma gelecekte hızlı olacaktır.

Başka bir deyişle, TRIM'i kullanmazsanız, SSD'niz zamanla yavaşlayacaktır. Bu nedenle, Windows 7+, Mac OS X 10.6.8+ ve Android 4.3+ de dahil olmak üzere modern işletim sistemleri TRIM'i kullanmaktadır. TRIM, Linux'ta Aralık 2008'de hayata geçirildi ancak Ubuntu varsayılan olarak kullanmıyor.

İLGİLİ MAKALELER
Katı Hal Sürücü( SSD) Nedir ve Birine İhtiyacım Var mı?
Üçüncü Taraf Yazılımıyla SSD'yi "Optimize Etmem Gerekiyor mu?"

Neden TRIM varsayılan olarak Ubuntu değil mi?

Ubuntu'nun varsayılan olarak SSD'leri TRIM etmemesi gerçek nedeni, Linux çekirdeğinin TRIM'in uygulanmasının yavaş olması ve normal kullanımda kötü performansa neden olmasıdır.

Windows, Windows 7 ve 8'de bir dosyayı her sildiğinde, sürücüye dosyanın bitlerini derhal silmesini söyleyen bir TRIM komutu gönderir. Linux, dosya sistemleri "atın" seçeneği ile monte edildiğinde bunu desteklemektedir. Bununla birlikte, Ubuntu - ve diğer dağıtımlar - performans nedenleriyle bunu varsayılan olarak yapmıyor.

OpenSUSE wiki, Linux çekirdeğimize olduğundan daha fazla aşina olan bir geliştiriciden bazı ayrıntılı bilgi içermektedir. Biraz tarihli, ancak performans söz konusu olduğunda muhtemelen hala geçerli:

"11.2, 11.3 ve 11.4'te gerçek zamanlı kırpmanın çekirdek uygulaması optimize edilmemiştir.Şartname.trimleme aralıklarının vektörize bir listesini desteklemek için çağırır, ancak çekirdek 3.0 trim olarak sadece tek bir silme / trim aralığı ve mevcut orta 2011 SSDs ile çekirdek tarafından bu performans artışı yerine bir performans düşüşü neden olduğu kanıtlanmıştır.Çekirdeklerin gerçek zamanlı atma desteğini 3.1 öncesi çekirdeği ile kullanmanın birkaç nedeni vardır.Çekirdeklerin işlevselliği, mevcut nesil SSD'lerle yararlı bir şekilde çalışacak şekilde optimize edileceğini bilmediği bilinmiyor. "[Kaynak]

Başka bir deyişle, Linux çekirdeği gerçek zamanlı TRIM komutlarını yavaş ve en iyi duruma geçirilmemiş bir şekilde işlemektedir. TRIM'in Windows'un yaptığı gibi - yani "at" seçeneğini kullanarak etkinleştirilmesi sistemin gerçekten TRIM'in hiç kullanılmadığından daha yavaş hale gelmesine neden olur. Ubuntu ve diğer Linux dağıtımları, varsayılan olarak dosya sistemleriniz için "atın" seçeneğini etkinleştirmez ve siz de yapmamalısınız.

Başka Bir Yol

Linux çekirdeğindeki gerçek zamanlı "atılan" TRIM işlemi başarısız olduğundan, çoğu Linux dağıtımı - Ubuntu da dahil - TRIM'i otomatik olarak kullanmaz. Android, Android 4.3'e kadar TRIM'i kullanmadı.

Ancak TRIM'i kullanmanın başka bir yolu var. Bir dosya silindiğinde TRIM komutunu vermek yerine, FITRIM özelliği kullanılabilir. Bu, fstrim komutu vasıtasıyla gerçekleşir. Aslında, fstrim komutu dosya sistemini analiz eder ve sürücüye hangi blokların artık ihtiyaç duyulmadığını bildirir, böylece sürücü onları atabilir. Bu, TRIM'i gerçek zamanlı bir işlemden planlanmış bir göreve çevirir. Başka bir deyişle, fstrim TRIM'i cron işi olarak gerçekleştirebilir. Bunu yapmak için hiçbir sebep yok. Hiçbir şeyi yavaşlatmaz;Bu, sistemin bir programda yerine getirmesi gereken başka bir temizlik görevidir.

Aslında Google'ın Android 4.3 ile yaptığı yaklaşım budur. Android, dosya sistemini TRIM yapmak için ara sıra yalnızca bir fstrim görevi yerine getiriyor ve bu orijinal Nexus 7'lerin hepsini yavaşlatan sorunu çözüyor.

Ubuntu ayrıca, düzenli olarak fstrim'i çalıştırarak TRIM'i otomatik olarak etkinleştirmeyi düşünüyor. Bu, umarım Ubuntu 14.04'ün parçası olacak, bu nedenle Ubuntu kullanıcıları SSD performans düşüşüyle ​​uğraşmaya veya kendi başına fstrim'i çalıştırmaya zorlanmayacak.

TRIM

'yi Etkinleştirme Nasıl dosya sistemlerini "atın" işlemi ile monte etmenizi önermiyoruz, aksi halde normal kullanımda daha yavaş bir performans elde edersiniz. Bununla birlikte, zaman zaman fstrim komutunu çalıştırarak veya bir programda fstrim'i çalıştıran kendi cronjob'unuzu oluşturarak TRIM'i kendiniz kullanabilirsiniz.

Ubuntu'da SSD'yi TRIM yapmak için, basitçe bir terminal açın ve aşağıdaki komutu çalıştırın:

sudo fstrim -v /

SSD'lerde performans düşüşünü önlemek için zaman zaman yukarıdaki komutu çalıştırabilirsiniz. Ne sıklıkta çalıştırmanız gerektiğini dosyalarınızın SSD'den ne sıklıkta silindiğine bağlıdır. Komutu TRIM'i desteklemeyen bir sürücü ile çalıştırmayı denerseniz bir hata görürsünüz.

TRIM'i düzenli olarak çalıştırmak istiyorsanız, fstrim komutunu yalnızca sizin için çalışan bir cronjob oluşturabilirsiniz. Bunu, otomatik olarak yapacak bir barebone cron işi nasıl yapılır.

Önce nano metin düzenleyicisini kök izinleriyle açmak için aşağıdaki komutu çalıştırın:

sudo nano /etc/cron.daily/ fstrim

Dosyaya aşağıdaki kodu yazın:

#!/bin/ sh

fstrim /

Ctrl + O tuşlarına basarak dosyayı kaydedin ve onaylamak için Enter tuşuna basın. Dosyayı kaydettikten sonra nano'yu kapatmak için Ctrl + X tuşlarına basın.

Son olarak, komut dosyasını çalıştırılabilir yapmak için aşağıdaki komutu çalıştırın:

sudo chmod + x /etc/cron.daily/ fstrim

Ubuntu, artık diğer sistem bakım görevlerinde olduğu gibi fstrim'i bir programda çalıştıracaktır.

TRIM'in modern dosya sistemlerinde yalnızca desteklendiğini unutmayın; bu nedenle ext4 veya ext3 veya ext2 gibi bir şey gerekecektir. Hangi dosya sistemini kullandığınızı bilmiyorsanız, endişelenmeyin - ext4 varsayılan olarak seçilmiştir.

Bu tavsiyenin çoğu diğer Linux dağıtımı için de geçerlidir. Linux, TRIM desteğini çekirdeğe uzun süre önce uygularken, TRIM desteğinin, Linux dağıtımlarındaki tipik kullanıcılar için varsayılan olarak etkinleştirilmiş olmadığı görülüyor.

Resim Kredisi: Flickr'da Mace Ojala( kırpılmış)