0%

閱讀筆記: 「macOS 的 fsync 實作其實跟大家想像的完全不同 」

標題: 「macOS 的 fsync 實作其實跟大家想像的完全不同 」
類別: others
連結: https://mobile.twitter.com/marcan42/status/1494213855387734019?t=TyXUEg-2LcbNiKkv0JVOsg&s=09

以下節錄自該留言串
「As it turns out, macOS cheats. On Linux, fsync() will both flush writes to the drive, and ask it to flush its write cache to stable storage.

But on macOS, fsync() only flushes writes to the drive. Instead, they provide an F_FULLSYNC operation to do what fsync() does on Linux.」

簡單來說就是 Linux 的 fsync 會執行兩次動作,最終讓當次修改給寫回到底層儲存設備,而 macOS 的版本卻不會真的確認寫回硬碟,所以這個導致很多仰賴 fsync 的應用程式就會有一些不預期的行為,這也是為什麼首篇發文的內容
「Well, this is unfortunate. It turns out Apple’s custom NVMe drives are amazingly fast - if you don’t care about data integrity.

If you do, they drop down to HDD performance. Thread.」

個人資訊

我目前於 Hiskio 平台上面有開設 Kubernetes 相關課程,歡迎有興趣的人參考並分享,裡面有我從底層到實戰中對於 Kubernetes 的各種想法

詳細可以參閱
線上課程詳細資訊: https://course.hwchiu.com/

另外,歡迎按讚加入我個人的粉絲專頁,裡面會定期分享各式各樣的文章,有的是翻譯文章,也有部分是原創文章,主要會聚焦於 CNCF 領域
https://www.facebook.com/technologynoteniu

如果有使用 Telegram 的也可以訂閱下列頻道來,裡面我會定期推播通知各類文章
https://t.me/technologynote

你的捐款將給予我文章成長的動力

Welcome to my other publishing channels