Jawaban singkat
Pilih ext4 , dan pasang dengan discard
opsi untuk dukungan TRIM , atau gunakan FITRIM (lihat di bawah). Juga gunakan noatime
opsi jika Anda takut "SSD wear".
Jangan mengubah penjadwal I / O (CFQ) default Anda di server multi-aplikasi , karena memberikan keadilan antar proses dan memiliki dukungan SSD otomatis. Namun, gunakan Tenggat waktu di desktop untuk mendapatkan respons yang lebih baik di bawah pemuatan.
Untuk dengan mudah menjamin penyelarasan data yang tepat, sektor awal setiap partisi harus merupakan kelipatan 2048 (= 1 MiB). Anda dapat menggunakannya fdisk -cu /dev/sdX
untuk membuatnya. Pada distribusi terbaru, ini akan secara otomatis menangani ini untuk Anda.
Berpikir dua kali sebelum menggunakan swap pada SSD. Mungkin akan jauh lebih cepat dibandingkan dengan menukar pada HDD, tetapi juga akan memakai disk lebih cepat (yang mungkin tidak relevan, lihat di bawah).
Jawaban panjang
Ext4 adalah sistem file Linux yang paling umum (terpelihara dengan baik). Ini memberikan kinerja yang baik dengan SSD dan mendukung fitur TRIM (dan FITRIM) untuk menjaga kinerja SSD yang baik dari waktu ke waktu (ini membersihkan blok memori yang tidak digunakan untuk akses menulis yang lebih cepat di kemudian hari). NILFS dirancang khusus untuk drive memori flash, tetapi tidak benar - benar berkinerja lebih baik daripada ext4 pada benchmark. Btrfs masih dianggap eksperimental (dan juga tidak benar-benar berkinerja lebih baik ).
Fitur TRIM membersihkan blok SSD yang tidak digunakan lagi oleh sistem file. Ini akan mengoptimalkan kinerja penulisan jangka panjang dan direkomendasikan pada SSD karena desainnya. Ini berarti bahwa sistem file harus dapat memberi tahu drive tentang blok-blok itu. The discard
gunung pilihan ext4 akan mengeluarkan seperti TRIM perintah ketika blok filesystem dibebaskan. Ini adalah pembuangan online .
Namun, perilaku ini menyiratkan sedikit overhead kinerja. Sejak Linux 2.6.37, Anda dapat menghindari menggunakan discard
dan memilih untuk melakukan batch batch sesekali dengan FITRIM sebagai gantinya (misalnya dari crontab). The fstrim
utilitas melakukan hal ini (online), serta -E discard
pilihan fsck.ext4
. Anda akan membutuhkan versi "terbaru" dari alat-alat ini.
Anda mungkin ingin membatasi penulisan pada drive Anda karena SSD memiliki masa pakai yang terbatas dalam hal ini. Namun jangan terlalu khawatir , SSD 128 GB terburuk saat ini dapat mendukung setidaknya 20 GB data tertulis per hari selama lebih dari 5 tahun (1000 siklus tulis per sel). Yang lebih baik (dan juga yang lebih besar) dapat bertahan lebih lama: Anda kemungkinan besar telah menggantinya saat itu.
Jika Anda ingin menggunakan swap pada SSD, kernel akan melihat disk non-rotasi dan akan mengacak penggunaan swap (levelling wear leveling kernel): Anda kemudian akan melihat SS
(Solid State) dalam pesan kernel ketika swap diaktifkan:
Menambahkan 2097148k swap pada / dev / sda1. Prioritas: -1 luasan: 1 melintasi: 2097148k SS
Juga, saya setuju dengan sebagian besar jawaban aliasgar (bahkan jika sebagian besar dari itu adalah - secara umum? - disalin dari situs web ini ), tetapi sebagian saya harus tidak setuju pada bagian penjadwal . Secara default, batas waktu scheduler yang dioptimalkan untuk disk rotasi karena mengimplementasikan algoritma lift . Jadi, mari kita perjelas bagian ini.
Jawaban panjang tentang penjadwal
Mulai dari kernel 2.6.29, disk SSD terdeteksi secara otomatis, dan Anda dapat memverifikasi ini dengan:
cat /sys/block/sda/queue/rotational
Anda harus mendapatkan 1
hard disk dan 0
SSD.
Sekarang, penjadwal CFQ dapat menyesuaikan perilakunya berdasarkan informasi ini. Sejak linux 3.1, cfq-iosched.txt
file dokumentasi kernel mengatakan :
CFQ memiliki beberapa optimisasi untuk SSD dan jika mendeteksi media non-rotasi yang dapat mendukung kedalaman antrian yang lebih tinggi (beberapa permintaan saat terbang pada satu waktu), [...].
Juga, Penjadwal Tenggat Waktu mencoba membatasi gerakan kepala yang tidak berurutan pada cakram rotasi, berdasarkan pada nomor sektor. Mengutip dokumen kernel deadline-iosched.txt
, fifo_batch
deskripsi opsi :
Permintaan dikelompokkan menjadi `kumpulan 'dari arah data tertentu (baca atau tulis) yang dilayani dalam urutan sektor yang meningkat.
Namun, menyetel parameter ini ke 1 saat menggunakan SSD mungkin menarik:
Parameter ini menyetel keseimbangan antara latensi per permintaan dan throughput agregat. Ketika latensi rendah menjadi perhatian utama, lebih kecil lebih baik (di mana nilai 1 hasil perilaku first-come first-served). Meningkatkan fifo_batch umumnya meningkatkan throughput, dengan biaya variasi latensi.
Beberapa tolok ukur menunjukkan bahwa ada sedikit perbedaan kinerja antara penjadwal yang berbeda. Lalu, mengapa tidak merekomendasikan keadilan ? ketika CFQ jarang buruk di bangku cadangan . Namun, pada pengaturan desktop, Anda biasanya akan mengalami respons yang lebih baik menggunakan Tenggat di bawah beban, karena desainnya (mungkin dengan biaya throughput yang lebih rendah).
Yang mengatakan, benchmark yang lebih baik akan mencoba menggunakan Tenggat dengan fifo_batch=1
.
Untuk menggunakan Batas Waktu pada SSD secara default, Anda dapat membuat file, katakan /etc/udev.d/99-ssd.rules
sebagai berikut:
# 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
, (saya kira seseorang menyebutkannya di bawah dalam jawaban) dan MBR adalah metode lama menggunakan yang lamagrub 0.9.7
danfdisk
.. Anda dapat menemukan lebih banyak di sini: wiki.archlinux.org/index.php/Solid_State_Drives