Dengan SSD, apakah saya perlu mengubah swappiness saya untuk meningkatkan masa pakai SSD?


35

Saya menemukan artikel ini yang mencakup saran berikut:

Swap dan swappiness

Saya menyimpan partisi swap saya di HDD lama. Swap pada SSD akan lebih cepat, tetapi juga akan mempersingkat masa pakai SSD.

Sistem saya memiliki banyak memori, jadi saya juga mengurangi nilai swappiness menjadi 0 untuk memberi tahu Ubuntu agar hanya bertukar ketika benar-benar diperlukan. Saya melakukan ini dengan menambahkan baris vm.swappiness = 0 ke /etc/sysctl.conf.

Benarkah pengaturan swappiness ke nol akan meningkatkan masa pakai SSD saya? Saya tidak dapat menemukan referensi untuk ini di tempat lain.

Jawaban:


30

Mengurangi swappiness ke 0 berarti bahwa OS hanya akan mulai menggunakan SSD untuk swap ketika tidak ada lagi RAM gratis yang tersedia.

Secara teoritis ini dapat meningkatkan masa pakai SSD karena SSD akan lebih sedikit menulis. Itu tergantung apakah itu secara praktis meningkatkan masa pakai SSD:

  • Linux jarang menggunakan swap (terutama dibandingkan dengan windows) bahkan dengan nilai swappiness yang lebih tinggi juga, sehingga pengaturan ini kemungkinan tidak akan mengubah perilaku swapping pada sistem dengan banyak RAM dibandingkan dengan penggunaan RAM. Jika Anda kekurangan RAM maka swapping dapat terjadi cukup sering dengan nilai default 60, dalam hal ini penurunan swappiness kemungkinan akan berdampak signifikan pada batas siklus tulis SSD.

  • Daya tahan tulis SSD masih cukup tinggi untuk penggunaan konsumen yang sederhana, setidaknya untuk SSD berbasis MLC . Mereka mengatakan bahwa SSD berbasis MLC saat ini dapat mentolerir ca. 3000-5000 siklus tulis sebelum habis. Menghitung dengan batas 3000 itu berarti bahwa 128 GB SSD dengan penulisan 10 GB harian akan bekerja dengan senang hati untuk ca. 38000 hari, itu artinya ca. 100 tahun. Jika Anda memiliki SSD yang lebih besar tentu saja akan usang jauh di kemudian hari. Jadi sangat tidak mungkin SSD Anda akan mati karena sel-selnya aus. (Tentu saja jika Anda menggunakan SSD di lingkungan perusahaan / server maka penulisan harian jauh lebih tinggi, tetapi di lingkungan perusahaan biasanya SSD berbasis SLC digunakan.)

  • Batas siklus tulis ini begitu tinggi sehingga produsen SSD (pada awalnya SAMSUNG) mulai memproduksi SSD berbasis TLC untuk konsumen, yang hanya dapat mentolerir ca. 1000 siklus tulis, tetapi lebih murah. Perusahaan-perusahaan ini mengatakan bahwa bahkan batas siklus tulis SSD ini akan bertahan lebih lama dari waktu produk diharapkan untuk digunakan. (Tidak mungkin bahwa pada tahun 2024 kita masih akan menggunakan SSD 128 GB kami) Meskipun jika Anda memiliki SSD berbasis TLC dan Anda cukup sering menulis ke drive itu, misalnya 50GB / hari, daripada penurunan nilai swappiness kemungkinan akan memiliki efek signifikan pada umur SSD Anda.
  • Ini adalah utas raksasa tempat para penggemar menguji daya tahan SSD dengan terus-menerus menulis kepada mereka. Meskipun metode pengujian mereka mungkin tidak sepenuhnya benar, hasilnya cukup mengesankan dan menenangkan.

Jadi kesimpulannya: Secara teori ya, mengurangi swappiness akan menghasilkan umur SSD yang lebih lama, dalam praktiknya kemungkinan tidak akan. Tetapi jika Anda memiliki SSD berbasis TLC dan Anda kekurangan RAM dan Anda biasanya sering menulis ke SSD maka itu dapat memiliki efek praktis juga.

Saya memiliki MLC berbasis, 128 GB SSD dan saya kebanyakan menggunakan sistem saya untuk kantor / browsing dan saya memiliki banyak RAM dibandingkan dengan penggunaan RAM saya sehingga SSD saya tidak di bawah beban tulis yang berat (meskipun mesin saya pada 24/7). Tetapi karena saya tidak perlu bertukar sama sekali dan sangat mudah untuk menurunkan swappiness yang saya lakukan untuk saya sendiri mengatur swappiness ke 0 ketika saya menginstal SSD saya, karena mengapa tidak melakukannya? (Sebenarnya saya menetapkan swappiness ke 0 pada semua mesin saya, bahkan pada mesin yang hanya memiliki HDD.)

Anda dapat memeriksa berapa banyak penulisan yang dialami SSD Anda selama masa pakai smartctl, cari barisnya Total_LBAs_Written, ini akan menunjukkan berapa banyak sektor 512b yang telah ditulis ke SSD. (Ya, saya tahu bahwa SSD secara fisik memiliki 4K blok, bukan 512b, tetapi SMART masih mengatakan: Sector Size: 512 bytes logical/physicaldan dengan 512 blok saya mendapatkan hasil yang sebanding dengan tune2fs -loutput menulis Seumur Hidup.) Jadi gandakan angka itu dengan 512 dan Anda dapat menulis dalam byte , atau singkatnya:

sudo smartctl -a /dev/sda | grep Total_LBAs_Written | awk '{print $10*512/1024/1024/1024 " GiB"}'

akan dicetak dalam GiB untuk / dev / sda. (Cukup ubah nama perangkat menjadi nama SSD Anda.) SSD 128 GB saya telah mengalami ca. 800 GB menulis dalam sedikit lebih dari satu tahun, itu berarti hanya 7 siklus tulis yang digunakan dari 3000.


Dengan sistem file, seseorang dapat TRIM untuk mengurangi amplifikasi tulis. Apakah ada yang setara untuk partisi SWAP?
Bryce

Jawaban ini tampaknya mengasumsikan bahwa "swappiness" berkisar dari 0 hingga 100 dengan nol yang berarti tidak ada pertukaran (dan 100 berarti tidak ada RAM?). Tapi, jawaban lain masuk ke detail lebih lanjut tentang swappinessnilai, menunjukkan bahwa angka berkisar dari 0 hingga 200 dan mewakili bobot relatif terhadap berbagai jenis swapping.
palswim

7

Semua pembicaraan tentang pemakaian SSD ini adalah "tebak-tebakan". Saya memiliki perasaan yang sama, tetapi mulai menggunakannya secara komersial. Saya memiliki salah satu kelompok oracle tercepat di pantai timur. 3 tahun yang lalu kami melembagakan SSD untuk seluruh penyimpanan dan sistem file sementara kami. Kami melakukan miliaran operasi tulis / hari ke SSD. Setelah 3 tahun, kami masih belum mencapai 10% burnout. Jika saya bisa melakukan itu secara komersial, mereka tidak akan pernah aus dalam situasi perumahan. So-- Saya menerapkan solusi SSD khusus untuk ruang swap di workstation linux dan BAM saya !!!

Jadi, jarak tempuh saya berbeda-beda tetapi SSD adalah cara yang digunakan untuk segala hal.

Dave


SSD yang dimaksudkan untuk server dapat mengambil lebih banyak penulisan daripada yang (lebih murah) dimaksudkan untuk konsumen.
jarno

1
Dipahami, tetapi saya memiliki SSD konsumen yang diinstal di workstation yang menjalankan 24x7 dikerahkan di seluruh perusahaan dan kami membuat cadangan delta setiap beberapa hari tetapi belum mengalami kegagalan tunggal dalam 2 tahun. Perlu diingat bahwa MTBF untuk piring pemintalan fisik adalah 3 tahun dan dalam pengalaman saya menjual / melayani sistem selama 25+ tahun, itu cukup akurat. SSD mengungguli semua opsi lain, komersial atau konsumen.
TekOps

3

Ya . Anda perlu mengubah swappiness untuk meningkatkan masa pakai SSD.

Swappiness memungkinkan Anda mengontrol berapa banyak file swap yang digunakan. Nilai swappiness dapat diubah dari 0 hingga 100. Semakin tinggi swappiness, semakin banyak kernel akan mencoba menggunakan ruang swap, semakin rendah nilai swappiness berarti kernel akan menggunakan lebih sedikit atau tidak ada ruang swap tergantung pada pengaturan kami.

Nilai swappiness default dari adalah 60, jika Anda memiliki banyak RAM, Anda harus menghindari menggunakan ruang swap yang menulis dan membaca ke SSD Anda, tetapi ke HDD. Untuk sistem dengan 4 GB atau lebih RAM, cobalah untuk mengurangi penggunaan swap dengan mengubah pengaturan swappiness menjadi antara 10 bahkan 0, dengan file swap berada di HDD.

Menjalankan ruang swap sangat intensif I / O disk, dan itu sebenarnya buruk untuk SSD. SSD hanya dapat menangani begitu banyak penulisan sebelum memburuk dan Anda terpaksa membeli drive lain. Jadi, jika memungkinkan, pindahkan ruang swap Anda ke drive spinning sekunder ... jauh dari SSD.

Solid State Drive cepat aus dengan tindakan tulis. Terutama generasi tertua SSD rentan dalam aspek itu, tetapi pada tingkat yang lebih rendah itu masih berlaku untuk generasi yang lebih baru.

Anda dapat membuat partisi baru di disk baru, atau hanya membuat file swap; membuat partisi baru hampir selalu menghasilkan kinerja yang jauh lebih baik.

Jika Anda tidak memiliki drive alternatif untuk dipindahkan, Anda dapat mengubah pengaturan yang hanya akan memungkinkan swap ketika RAM fisik Anda 100% penuh, yang akan mengurangi beban pada swapfile Anda, dan membantu SSD Anda. Cukup tekan Ctrl+ Alt+ Tdi keyboard Anda untuk membuka Terminal. Saat terbuka, jalankan perintah di bawah ini:

echo 0 > /proc/sys/vm/swappiness

SSD keausan berkaitan dengan siklus tulis

Solid State Drive cepat aus dengan tindakan tulis. Terutama generasi tertua SSD rentan dalam aspek itu, tetapi pada tingkat yang lebih rendah itu masih berlaku untuk generasi yang lebih baru.

Gunakan Trim

TRIM adalah keuntungan yang Anda gunakan dengan SSD. Ini berjalan dalam perangkat lunak dan berkomunikasi dengan pengontrol SSD, mengatakannya 'blok' mana yang tidak lagi dibutuhkan oleh sistem file dan dapat dengan aman dibersihkan dan ditimpa. Ini tidak akan benar-benar menghasilkan peningkatan kinerja, tetapi lebih baik memperpanjang umur SSD Anda.

Sumber: Linux SSD Tweaks & How-to untuk mengoptimalkan SSD Anda


Saya ingin tahu apa yang salah? OP bertanya apakah dia perlu mengubah swappiness-nya untuk meningkatkan usia SSD, dan jawabannya adalah ya dia perlu mengubah swappiness.
Mitch

Saya mengerti bahwa versi terbaru Ubuntu secara otomatis menggunakan TRIM untuk SSD.
Paddy Landau

Ubuntu terbaru hanya menggunakan TRIM untuk model SSD tertentu. @ PaddyLandau
Bryce

2

Benarkah pengaturan swappiness ke nol akan meningkatkan masa pakai SSD saya?

Itu akan menyebabkan Linux lebih jarang memindahkan blok memori ke partisi swap. Menulis ke swap biasanya menggunakan siklus tulis jika swap Anda ada di SSD. Ingat bahwa swap hanya digunakan saat dibutuhkan dan jika Anda memiliki cukup RAM, Anda mungkin lebih baik tanpanya (kecuali jika Anda ingin hibernasi, tapi itu masalah lain).

Efek dari tindakan ini dapat bervariasi, tetapi melakukannya hanya untuk menghemat beberapa siklus tulis di SSD adalah salah melakukannya. SSD modern (sekitar dari 2012 dan seterusnya) memiliki banyak siklus tulis, dan kinerjanya mungkin berkurang untuk aplikasi Anda saat Anda hampir menggunakan semua RAM Anda. Anda menggunakan lebih banyak siklus tulis selama instalasi program daripada pertukaran jatuh tempo. Ingat, sekali lagi, swap itu hanya digunakan ketika dibutuhkan secara default.

Jika Anda khawatir tentang siklus penulisan SSD yang digunakan untuk swap, Anda dapat menghapus / menonaktifkan swap secara keseluruhan jika Anda memiliki cukup RAM dan hanya mengaktifkan swap sementara dalam HDD alih-alih mengacaukan swapiness tersebut. Itu akan menjadi rute terbaik.


0

Saya sangat merekomendasikan Anda untuk mengubah pengaturan swappiness ke nilai yang lebih rendah, yang terbaik adalah "0" jika Anda memiliki cukup memori / ram untuk sistem Anda 4 GB ram atau lebih. Meskipun swappiness pada 10 dengan sistem ram tinggi, saya hampir tidak melihat ubuntu meletakkan apa pun di partisi swap karena sebagian besar semuanya sudah di ram.

Saya melakukan sedikit pencarian google dan saya menemukan halaman ini http://namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.html

mungkin membantu Anda untuk men-tweak dan mengoptimalkan SSD agar sistem Ubuntu Anda berjalan lebih efisien dan membuat SSD Anda hidup lebih lama


0

Mengubah swappiness mungkin tidak benar-benar berdampak. Kami telah banyak bermain dengan itu dalam sistem yang kekurangan RAM dan kami ingin mendorong sebanyak mungkin ke SSD dan itu benar-benar membuat sedikit dampak, barang-barang yang tersisa di memori (yang berarti mereka diperlukan). Ini mungkin titik yang bisa diperdebatkan.


0

Saya menyukai gagasan memeriksa smartctloutput, namun, kode saya sedikit lebih kompak. Saya tidak pernah mengerti mengapa orang tidak tahu yang awkmemiliki grepkemampuan yang tertanam di dalamnya.

sudo smartctl -a /dev/sdb | awk ' ($0 ~ /Total_LBAs_Written/) {print ($10*512)/(1024^3) " GiB"}'

Meskipun ini adalah kode yang saya gunakan:

sudo smartctl -a ${device} | awk ' ($0 ~ /Total_LBAs_Written/) { if (($10*512)/(1024^3) > 1000) { msg="TiB"; size=($10*512)/(1024^4); } else { msg="GiB"; size=($10*512)/(1024^3); }; printf "\nThis device has had %.2
f %s written to it.\n",size,msg; }'
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.