Filesystems

“同步”和“非同步”掛載選項之間的區別

  • February 3, 2022

從最終使用者的角度來看,掛載選項sync和掛載選項有什麼區別?async使用這些選項之一掛載的文件系統是否比使用另一個選項掛載更快?如果沒有設置,哪個選項是預設選項?

man mount說該sync選項可能會縮短快閃記憶體的使用壽命,但它可能會過時的傳統觀念。無論如何,這讓我有點擔心,因為我的主要硬碟驅動器,分區//home放置的地方,是 SSD 驅動器。

Ubuntu 安裝程序(14.04)沒有為分區指定syncasync選項,但已通過選項設置。這是我的,我添加了一些額外的行(見評論),但沒有改變安裝程序所做的任何行:/``async``/home``defaults``/etc/fstab

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

因此,如果我/dev/sda是 SSD,我是否應該 - 為了減少磨損 -為文件系統添加async選項?我應該為我在我定義的其他分區設置或選項嗎?SSD 和 HDD 驅動器的推薦方法是什麼?/``/home``sync``async``/etc/fstab

async是 的反義詞sync,很少使用。 async是預設值,您不需要明確指定。

該選項sync意味著對相應文件系統的所有更改都會立即刷新到磁碟;正在等待相應的寫操作。對於機械驅動器來說,這意味著速度會大大降低,因為系統必須將磁頭移動到正確的位置;sync使用者態程序必須等待操作完成。相比之下,async系統緩衝寫入操作並優化實際寫入;同時,使用者空間中的程序不會被阻止,而是繼續執行。(如果出現問題,則close()返回-1errno = EIO

SSD:我不知道 SSD 記憶體與 RAM 記憶體相比有多快,但肯定不會更快,因此sync可能會造成性能損失,儘管不如機械磁碟驅動器那麼糟糕。直到有生之年,智慧仍然有效,因為寫入 SSD 很多“磨損”它。最糟糕的情況是對同一個地方進行大量更改的過程;它們中的sync每一個都會命中 SSD,而async(預設)由於核心緩衝,SSD 不會看到其中的大部分。

歸根結底,不要理會sync,你很可能對async.

引用自:https://unix.stackexchange.com/questions/146620