Apakah perlu untuk menyetel Ext4 dengan noatime?


77

Dengan versi Ubuntu sebelumnya (menggunakan sistem file Ext3), saya terbiasa menyetelnya untuk kinerja yang lebih baik dengan hasil yang nyata dengan mengatur noatimeparameter dalam /etc/fstab.

Apakah masih layak untuk melakukan itu dengan sistem file Ext4, yang sekarang default di Ubuntu? Jika demikian, apakah prosedurnya diubah?

Contoh penyetelan ini dapat ditemukan di sini.

Jawaban:


66

Di Ubuntu 10,04, relatimemerupakan bagian dari opsi pemasangan default, kecuali diganti /etc/fstab. Beberapa rilis sebelumnya relatimesecara eksplisit di /etc/fstab. relatimememberikan kecepatan yang sama (dan konservasi siklus penulisan flash) sebagai noatime, tanpa menyebabkan masalah bagi pengirim surat kuno.

Artikel yang Anda kutip merekomendasikan data=writeback. Ubuntu default untuk data=ordered. Pengaturan Ubuntu lebih lambat jika ada beban disk yang besar, tetapi secara signifikan mengurangi risiko kehilangan data jika terjadi kerusakan atau kegagalan daya. Jadi saya tidak akan merekomendasikan perubahan dari default Ubuntu.

Mengubah commit=5untuk commit=100menambah jendela waktu saat data akan hilang jika terjadi kerusakan, untuk sedikit manfaat di sebagian besar keadaan.

Ringkasan: biarkan pengaturan apa adanya, mereka dipilih karena suatu alasan.


TAMBAH: Ada hal-hal lain di luar opsi pemasangan selain yang dapat membuat perbedaan. Beralih dari ext3ke ext4itu sendiri sering merupakan peningkatan yang terlihat. Berikut adalah beberapa tips untuk pengguna laptop.

  • Jika Anda memiliki SSD yang lambat, periksa utas ini di SU . Kiat-kiat penting adalah untuk digunakan tmpfsuntuk /tmpdan untuk cache browser (dan mungkin riwayat).

  • Jika Anda memiliki hard disk dan ingin berhenti berputar untuk jangka waktu yang lama, maka instal noflushd , yang memungkinkan disk untuk berputar dengan menunda semua penulisan hingga RAM penuh. (Tentu saja, membaca dapat menyebabkan disk berputar; Anda pasti ingin membiasakan menjalankan cat /files/I/m/likely/to/need >/dev/nullsebelum disk berputar.) Agar noflushd menjadi efektif, matikan semua swap dan pasang sistem file Anda dengan sesuatu seperti commit=3600.

    Menggunakan noflushd secara efektif berarti bahwa data Anda dapat tetap tidak tertulis ke disk untuk waktu yang lama. Ini adalah risiko, ditimbang terhadap manfaat karena tidak ada suara atau panas yang datang dari disk untuk sementara waktu. Jangan gunakan noflushd jika Anda tidak nyaman dengan risiko itu.


Saya mengerti bahaya tweaker seperti ini, beberapa langkah pada tutorial yang saya tidak setuju, seperti yang comit=100Anda sebutkan juga. Tetapi saya bersedia mengambil beberapa risiko yang dimoderasi untuk meningkatkan kinerja, karena saya menggunakan laptop dan (hampir) melakukan backup secara teratur.
Decio Lira

2
@Decio: noatimevs atimedapat membuat perbedaan yang terlihat, tetapi saya akan terkejut bahwa noatimevs relatimeakan melakukannya. Saya telah menambahkan beberapa tip khusus laptop untuk jawaban saya; Saya pribadi mengamati peningkatan yang terlihat dari tips ini. Noflushd membawa risiko yang bersedia saya ambil ketika saya menggunakannya.
Gilles

Ya, saya hanya googling tentang perbedaan antara noatime dan relatime, dan Anda benar. relatime (yang sekarang default di ubuntu) adalah kompromi yang baik antara atime dan noatime.
Decio Lira

Saya sudah membaca tentang data=writeback- itu hanya menulis data file dan metadata dalam urutan acak (sebagai lawan orderedyang selalu menulis metadata setelah data) . Ini berarti pada pemadaman listrik Anda dapat menemukan file Anda α byte, di mana 0 byte sebenarnya ditulis. Yah ... Tapi ini benar-benar alami! Saya selalu berpikir bahwa filesystem pertama-tama meningkatkan ukuran file, dan kemudian menulis datanya. Menemukan bahwa itu bisa dalam urutan terbalik memerlukan mengubah pola ini untuk menambahkan caching dalam RAM. Saya tidak yakin mengapa tidak digunakan writebackjika dapat membantu meningkatkan latensi.
Hi-Angel

17

Ya, masih masuk akal untuk menggunakan noatimeUbuntu 12.10

relatimeadalah opsi pemasangan standar. Dan relatimejauh lebih baik daripada atime. Yang pertama membutuhkan penulisan untuk pembacaan pertama setelah menulis, yang terakhir membutuhkan menulis untuk setiap pembacaan. Tetapi dengan noatimesetiap membaca adalah bebas dari menulis.

Ini pada dasarnya berarti bahwa jumlah menulis ke disk untuk relatimemount dekat dengan dua kali lipat relatif ke noatimemount hal lain dianggap sama. Ini adalah masalah serius untuk partisi pada perangkat memori flash.

Diskusi terperinci oleh komunitas kernel linux ada di http://kerneltrap.org/node/14148


3
Faktor dua tidak benar secara umum. Secara teori faktornya adalah antara 1 (file yang sering digunakan) dan 2 (file yang jarang digunakan). Ini berarti, bahwa faktor sebenarnya pada dasarnya adalah 1, karena faktor-faktor yang jarang mendekati 2 tidak memperhitungkan rata-rata secara signifikan.
Patrick Häcker

1 adalah untuk file tulis saja. 2 adalah untuk yang lainnya. Tidak ada gunanya dalam file tulis saja, tetapi mereka dapat muncul dari waktu ke waktu. Jadi perkiraan awal saya harus relevan.
yanychar

@yanychar: terima kasih untuk menjelaskan relatimekekurangan dan berbagi diskusi kerneltrap, tetapi mengatakan " tidak ada gunanya dalam file tulis saja " adalah omong kosong: semua /usrdan /libadalah file read-only. Sebenarnya, sebagian besar pohon, tanpa /homedan /var, hanya baca. File di /etcjuga sangat jarang berubah.
MestreLion

2
@MestreLion: Ubuntu menginstal banyak paket. Paket ditingkatkan dari waktu ke waktu. Jika tidak ada pembacaan file di antara saat-saat ketika paket diinstal dan ditingkatkan, file itu "hanya-menulis". Tidak ada tulisan tambahan relatimedibandingkan dengan noatimeuntuk file. Untuk semua yang lain, ada tulisan tambahan saat file dibaca.
yanychar
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.