Kısa cevap
Seç ext4 , ve ya birlikte monte discard
seçeneğiyle TRIM destek veya FITRIM kullanmak (aşağıya bakınız). Ayrıca noatime
"SSD aşınmasından" korkuyorsanız seçeneği kullanın .
İşlemler arasında adalet sağlayan ve otomatik SSD desteğine sahip olduğu için çoklu uygulama sunucularında varsayılan G / Ç zamanlayıcınızı (CFQ) değiştirmeyin . Ancak, yük altında daha iyi yanıt almak için masaüstünde Son Tarihi kullanın .
Uygun veri uyumunu kolayca garantilemek için, her bölümün başlangıç sektörü 2048 katından fazla olmalıdır (= 1 MiB). fdisk -cu /dev/sdX
Onları oluşturmak için kullanabilirsiniz . Son dağıtımlarda, sizin için otomatik olarak bu ilgilenir.
SSD'de takas kullanmadan önce iki kez düşünün. HDD’nin takasına kıyasla muhtemelen çok daha hızlı olacaktır, ancak diski daha hızlı takacaktır (bu uygun olmayabilir, aşağıya bakınız).
Uzun cevap
Ext4 en yaygın Linux dosya sistemidir (bakımlı). SSD ile iyi performans sağlar ve zaman içinde iyi SSD performansını korumak için TRIM (ve FITRIM) özelliğini destekler (bu, daha sonra hızlı yazma erişimi için kullanılmayan bellek bloklarını siler). NILFS özellikle flash bellek sürücüleri için tasarlanmıştır ancak yok değil gerçekten daha iyi performans ext4 karşılaştırmalarına. Btrfs hala deneysel olarak (ve gerçekten daha iyi yapmaz ya ).
TRIM özelliği dosya sistemi tarafından artık kullanılmamaktadır SSD blokları temizler. Bu, uzun vadeli yazma performansını optimize eder ve tasarımları nedeniyle SSD'de önerilir. Bu, dosya sisteminin sürücüye bu bloklar hakkında bilgi vermesi gerektiği anlamına gelir. discard
Dağı seçeneği ext4 böyle yayınlayacak TRIM dosya sistemi blokları serbest zaman komutları. Bu çevrimiçi atma .
Ancak, bu davranış genel gider üzerinde küçük bir performans anlamına gelir. Linux 2.6.37’den bu yana FITRIM ile discard
ara sıra parti atma işlemi kullanmaktan kaçınmayı tercih edebilirsiniz (örneğin crontab'dan). Yardımcı fstrim
program bunu (çevrimiçi) ve -E discard
seçenek olarak yapar fsck.ext4
. Ancak, bu araçların "son" sürümüne ihtiyacınız olacak.
SSD bu konuda sınırlı bir ömre sahip olduğundan sürücünüzdeki yazıları sınırlamak isteyebilirsiniz. Ancak çok fazla endişelenmeyin , bugünün en kötü 128 GB SSD'si 5 yıldan fazla bir süre boyunca günde en az 20 GB yazılı veriyi destekleyebilir (hücre başına 1000 yazma döngüsü). Daha iyi olanlar (ve aynı zamanda daha büyük olanlar) daha uzun sürebilir: muhtemelen o zamana kadar yerini almış olacaksınız.
Eğer SSD'de bir takas kullanmak istiyorsanız , çekirdek dönmeyen bir disk görecek ve takas kullanımını rasgele bir şekilde belirleyecektir (çekirdek seviyesi aşınma seviyelendirmesi): SS
takas etkin olduğunda çekirdek mesajında bir (Katı Hal) göreceksiniz :
2097148k takas ekleyerek / dev / sda1 üzerine. Öncelik: -1 kapsamı: 1 boyunca: 2097148k SS
Ayrıca, takma adın cevabının çoğuyla aynı fikirdeyim (çoğu bu web sitesinden kopyaladı mı? - bu web sitesinden kopyalandı ), ancak programlayıcı kısmına kısmen katılmıyorum . Varsayılan olarak, son tarih zamanlayıcısı , asansör algoritmasını uyguladığı için döner diskler için optimize edilmiştir . Öyleyse bu kısmı açıklığa kavuşturalım.
Zamanlayıcılara uzun cevap
2.6.29 çekirdeğinden başlayarak, SSD diskleri otomatik olarak algılanır ve bunu aşağıdakilerle doğrulayabilirsiniz:
cat /sys/block/sda/queue/rotational
1
Sabit diskler ve 0
bir SSD için almalısınız .
Şimdi, CFQ zamanlayıcısı bu bilgilere dayanarak davranışını uyarlayabilir. Linux 3.1'den beri, çekirdek dokümantasyon cfq-iosched.txt
dosyası şunları söylüyor :
CFQ, SSD'ler için bazı optimizasyonlara sahiptir ve daha yüksek kuyruk derinliğini destekleyebilecek dönmeyen bir ortam algılarsa (bir seferde uçuş sırasında birden fazla istek), [...].
Ayrıca, Son Tarih Çizelgesi zamanlayıcı, sektör sayısına göre rotasyonel disklerdeki sırasız kafa hareketlerini sınırlamaya çalışır. Çekirdek belgeden alıntı deadline-iosched.txt
, fifo_batch
seçenek açıklaması :
Talepler, artan sektör sırasına göre hizmet verilen belirli bir veri yönünün (okuma veya yazma) '' toplu '' olarak gruplanır.
Ancak, bir SSD kullanırken bu parametrenin 1 olarak ayarlanması ilginç olabilir:
Bu parametre, istek başına gecikme süresi ve toplam çıktı arasındaki dengeyi ayarlar. Düşük gecikme birincil endişe olduğunda, daha küçük daha iyidir (1 değeri ilk gelene ilk davranışı verir). Fifo_batch değerinin arttırılması genellikle gecikme değişiminin maliyetine bağlı olarak verimi arttırır.
Bazı ölçütler , farklı zamanlayıcılar arasında performansta çok az fark olduğunu göstermektedir . Öyleyse neden adaleti önermiyoruz ? CFQ tezgahta nadiren kötü olduğunda . Bununla birlikte, masaüstü kurulumlarında, tasarım nedeniyle Deadline'ı kullanırken genellikle daha iyi yanıt verirsiniz (muhtemelen daha düşük üretim maliyetiyle).
Bununla birlikte, daha iyi bir kriter Deadline ile kullanmayı denerdi fifo_batch=1
.
Varsayılan olarak SSD'lerde Son Tarihi kullanmak için, /etc/udev.d/99-ssd.rules
aşağıdakileri söyleyerek bir dosya oluşturabilirsiniz :
# all non-rotational block devices use 'deadline' scheduler
# mostly useful for SSDs on desktops systems
SUBSYSTEM=="block", ATTR{queue/rotational}=="0", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="deadline"
gdisk
&grub 2.0.x
(Birisi bir cevap aşağıda söz sanırım) ve MBR eski kullanarak eski yöntemdirgrub 0.9.7
vefdisk
.. burada daha bulabilirsiniz: wiki.archlinux.org/index.php/Solid_State_Drives