“同步”和“非同步”掛載選項之間的區別
從最終使用者的角度來看,掛載選項
sync
和掛載選項有什麼區別?async
使用這些選項之一掛載的文件系統是否比使用另一個選項掛載更快?如果沒有設置,哪個選項是預設選項?
man mount
說該sync
選項可能會縮短快閃記憶體的使用壽命,但它可能會過時的傳統觀念。無論如何,這讓我有點擔心,因為我的主要硬碟驅動器,分區/
和/home
放置的地方,是 SSD 驅動器。Ubuntu 安裝程序(14.04)沒有為分區指定
sync
或async
選項,但已通過選項設置。這是我的,我添加了一些額外的行(見評論),但沒有改變安裝程序所做的任何行:/``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()
返回-1
。errno = EIO
)SSD:我不知道 SSD 記憶體與 RAM 記憶體相比有多快,但肯定不會更快,因此
sync
可能會造成性能損失,儘管不如機械磁碟驅動器那麼糟糕。直到有生之年,智慧仍然有效,因為寫入 SSD 很多“磨損”它。最糟糕的情況是對同一個地方進行大量更改的過程;它們中的sync
每一個都會命中 SSD,而async
(預設)由於核心緩衝,SSD 不會看到其中的大部分。歸根結底,不要理會
sync
,你很可能對async
.