'Sync' ve 'async' mount seçenekleri arasındaki fark


42

Arasındaki fark nedir syncve asyncbakış son kullanıcı açısından seçenekler monte? Dosya sistemi bu seçeneklerden birine monte edilmiş, diğerine monte edilenden daha hızlı çalışıyor mu? Bunlardan hiçbiri ayarlanmadıysa, varsayılan seçenek hangisidir?

man mountbu syncseçeneğin flash belleğin ömrünü azaltabileceğini, ancak eski geleneksel bilgeliğin azaltabileceğini söylüyor . Neyse bu kaygılar bana biraz, bölmeler birincil sabit sürücüye, çünkü /ve /homeyerleştirilir, SSD sürücüdür.

Ubuntu'nun yükleyici (14.04) belirtmediniz syncne de asyncseçeneği /bölümü, ancak belirledik asynciçin /homeseçeneği ile defaults. İşte benim /etc/fstabek birkaç satır ekledim (yoruma bakınız), ancak yükleyici tarafından yapılan satırlardaki hiçbir şeyi değiştirmedim:

# / 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

Öyleyse benim /dev/sdaSSD'm ise, aşınmayı azaltmak asyncadına - /ve /homedosya sistemleri için seçenek ekleyeyim mi? Benim içinde tanımladığım ek bölümler için ayar yapmalı mıyım syncyoksa asyncseçenek yapmalı mıyım /etc/fstab? SSD ve HDD sürücüler için önerilen yaklaşım nedir?


1
Değil çapraz sonrası Do askubuntu.com/questions/502691/...
cuonglm

@Gnouc Crossposting ile ilgili yanlış olan ne? Neyse, istediğin gibi Ask Ubuntu'dan gönderim sildim.

Yanıtlar:


49

asyncsyncnadiren kullanılanın zıttıdır . asyncVarsayılan ayardır, bunu açıkça belirtmeniz gerekmez.

Seçenek sync, dosya sistemine yapılan tüm değişikliklerin hemen diske atılması anlamına gelir; ilgili yazma işlemleri beklenmektedir. Sistem, disk kafalarını doğru konuma getirmek zorunda olduğu için aşırı yavaşlama anlamına gelen mekanik sürücüler için; ile syncuserland süreci tamamlamak için operasyon için beklemek zorunda. Buna karşılık, asyncsistem ile yazma işlemini önbelleğe alır ve gerçek yazıları yazar; bu arada, engellenmek yerine, kullanıcı işlem süreci devam ediyor. (Bir şeyler ters giderse, ile close()döner .)-1errno = EIO

SSD: SSD belleğin RAM belleğe kıyasla ne kadar hızlı olduğunu bilmiyorum, ama kesinlikle daha hızlı değil, bu nedenle syncmekanik disk sürücülerinde olduğu kadar kötü olmasa da performans cezası verilmesi muhtemel. Ömrü boyunca, bilgelik hala geçerlidir, çünkü bir SSD'ye yazmak çok fazla "giyer". En kötü senaryo, aynı yerde çok fazla değişiklik yapan bir süreç olacaktır; ile syncbunların her biriyle ederken SSD, vurur async(varsayılan) SSD çoğu görmez nedeniyle çekirdek buffering'e.

Günün sonunda, rahatsız etme sync, muhtemelen senin için iyi bir şey async.


yerel bir uygulamanın takılı sürücüyü silip yazması durumunda (harici bir Windows kutusunu işaretleyerek); Varsayılan, zaman uyumsuz modunun güvensiz olma potansiyeli var mı? Senaryo, yoklama uygulamasıdır, takmadaki bir klasöre bakar, alt klasörleri alır ve sonra siler.
HellishHeat

@HellishHeat Bunu, aklınızdaki senaryonun yeterli ayrıntılarını içeren ayrı bir soru olarak sormalısınız.
countermode

Farklı depolama katmanlarının hızı nedir: RAM nanosaniye, flaş mikrosaniyedir (yazma için 10'ar, okuma için yaklaşık 100'dür), dönme diski milisaniyedir (5 ms en iyi durum, disk kuyruğu yedeklenir ve erişilirse 10 ila 100ms rastgeledir). Bir flaş cihazındaki tek bir yere yazmak, SRAM kapasitörlü bir kapasitöre yazabilir ve NAND'a sonuna kadar yazılamaz. Bu nedenle, aşınma veya hız etkisinin belirlenmesi zordur.
Brian Bulkowski

Bunun anlamı, bir aramanın gerekmez mu syncya fsyncya fdatasyncbir senkronizasyonu sistem çağrıları fs monte?
CMCDragonkai 21:18

1
@ini ile veri kaybı riskini alabilirsiniz async. Ancak, bu bir sorun ise, o zaman synccevap değil - performans cezası syncsadece yasaklayıcıdır.
countermode

5

Dikkat: 'async' takma seçeneğini kullanmak, sürekli olarak yazılan bir bağ varsa (ör. Değerli kayıtlar, güvenlik kamerası kayıtları, vb.) Ve ani elektrik kesintilerinden korunmazsanız, en iyi fikir olmayabilir. . Kayıp kayıtlara veya eksik (yararsız) verilere neden olabilir. Çok akıllıca olmayan bir örnek: bir mağazanın içine girip bir an önce kamera güç kablosunu kestiğini düşünün. Ara verinin video kaydı kaydedildi, ancak diske boşaltılmamış / senkronize edilmemiş olabilir (çünkü bunun bir kısmı) bellekte tamponlanmış olabilir, bu nedenle kamera gücü kaybolduğunda kaybolur.


Modern sunucular, RAID denetleyicilerinde pil kaybına neden olan disk önbelleklerine sahiptir ve bu da güç kaybı durumunda bile veri kaybını önler.
tonioc

zaman uyumsuzluk birçok saniye yazmaz? Yaklaşık kaç saniye?
Ini

@Ini, kullanılan dosya sistemine bağlı olduğuna inanıyorum.
bd1251252

Yine de işletim sistemi kapattığınızda her şeyin ssd / hdd'ye yazılmasını sağlamalıdır. Elektrik kesintisi durumunda, bazı verileri kaybedebilirsiniz. Söylediğim doğru mu?
Ini

Bazı disklerdeki pil tabanlı önbellek gerçekten güç kaybı için optimize edilmemesi için bir neden değil. Tüm kullanıcılar bu 2'ye sahip olmayacak) 2) yalnızca verilerin disk denetleyicisine bile ulaştığı durumlarda sizi kurtaracak. Çoğu durumda, işletim sistemi önbelleğinde sıkışıp kalır, denetleyici bu verileri görmeden çok önce - ve bu bir elektrik kesintisi durumunda kaybedilir.
Cray
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.