Apa perbedaan antara sync
dan async
pasang opsi dari sudut pandang pengguna akhir? Apakah sistem file yang dipasang dengan salah satu opsi ini bekerja lebih cepat daripada jika dipasang dengan yang lain? Opsi mana yang merupakan opsi default, jika tidak ada yang ditetapkan?
man mount
mengatakan bahwa sync
opsi dapat mengurangi masa pakai memori flash, tetapi mungkin dengan kebijaksanaan konvensional yang usang. Bagaimanapun ini sedikit mengkhawatirkan saya, karena hard drive utama saya, tempat partisi /
dan /home
ditempatkan, adalah drive SSD.
Installer Ubuntu (14.04) belum ditentukan sync
atau async
pilihan untuk /
partisi, tetapi telah menetapkan async
untuk /home
oleh pilihan defaults
. Inilah saya /etc/fstab
, saya menambahkan beberapa baris tambahan (lihat komentar), tetapi tidak mengubah apa pun di baris yang dibuat oleh installer:
# / was on /dev/sda2 during installation
UUID=7e4f7654-3143-4fe7-8ced-445b0dc5b742 / ext4 errors=remount-ro 0 1
# /home was on /dev/sda3 during installation
UUID=d29541fc-adfa-4637-936e-b5b9dbb0ba67 /home ext4 defaults 0 2
# swap was on /dev/sda4 during installation
UUID=f9b53b49-94bc-4d8c-918d-809c9cefe79f none swap sw 0 0
# here goes part written by me:
# /mnt/storage
UUID=4e04381d-8d01-4282-a56f-358ea299326e /mnt/storage ext4 defaults 0 2
# Windows C: /dev/sda1
UUID=2EF64975F6493DF9 /mnt/win_c ntfs auto,umask=0222,ro 0 0
# Windows D: /dev/sdb1
UUID=50C40C08C40BEED2 /mnt/win_d ntfs auto,umask=0222,ro 0 0
Jadi jika /dev/sda
SSD saya , haruskah saya - demi mengurangi keausan - menambahkan async
opsi /
dan /home
sistem file? Haruskah saya mengatur sync
atau async
opsi untuk partisi tambahan yang saya tentukan di saya /etc/fstab
? Apa pendekatan yang disarankan untuk drive SSD dan HDD?
Jawaban:
async
adalah kebalikan darisync
, yang jarang digunakan.async
adalah default, Anda tidak perlu menentukan itu secara eksplisit.Opsi ini
sync
berarti bahwa semua perubahan pada sistem file yang sesuai segera dibilas ke disk; masing-masing operasi penulisan sedang menunggu. Untuk penggerak mekanis, ini berarti sangat lambat karena sistem harus memindahkan kepala disk ke posisi yang tepat; dengansync
proses userland harus menunggu operasi selesai. Sebaliknya, denganasync
sistem mendukung operasi tulis dan mengoptimalkan penulisan aktual; Sementara itu, alih-alih diblokir, proses di userland terus berjalan. (Jika terjadi kesalahan, makaclose()
kembali-1
denganerrno = EIO
.)SSD: Saya tidak tahu seberapa cepat memori SSD dibandingkan dengan memori RAM, tetapi tentu saja itu tidak lebih cepat, sehingga
sync
cenderung memberikan penalti kinerja, meskipun tidak seburuk dengan drive disk mekanis. Pada masa hidup, kebijaksanaan masih berlaku, karena menulis ke SSD banyak "memakainya". Skenario terburuk adalah proses yang membuat banyak perubahan di tempat yang sama; dengansync
masing - masing menekan SSD, sementara denganasync
(default) SSD tidak akan melihat sebagian besar dari mereka karena buffering kernel.Pada akhirnya, jangan repot-repot
sync
, kemungkinan besar Anda baik-baik sajaasync
.sumber
sync
ataufsync
ataufdatasync
syscalls di sync yang dipasang fs?async
. Namun, jika ini adalah masalah, makasync
itu bukan jawabannya - hukuman kinerjasync
hanya penghalang.Kata-kata hati-hati: menggunakan opsi mount 'async' mungkin bukan ide terbaik jika Anda memiliki mount yang secara konstan ditulis (mis. Catatan berharga, rekaman kamera keamanan, dll.) Dan Anda tidak terlindungi dari pemadaman listrik yang tiba-tiba . Ini bisa mengakibatkan catatan yang hilang atau data yang tidak lengkap (tidak berguna). Contoh yang tidak terlalu pintar: bayangkan seorang pencuri masuk ke toko dan segera memotong kabel daya kamera. Rekaman video dari pembobolan itu direkam tetapi mungkin tidak disiram / disinkronkan ke disk karena (atau bagian dari itu) mungkin telah disangga dalam memori sebagai gantinya, sehingga hilang ketika kamera kehilangan daya.
sumber