歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux sync命令學習

Linux sync命令學習

日期:2017/2/28 14:37:20   编辑:Linux教程

先了解一下buffer與cache:
buffer,為了解決寫磁盤的效率;
cache,為了解決讀磁盤的效率。

Linux系統為了提高讀寫磁盤的效率,會先將數據放在一塊buffer中。
在寫磁盤時並不是立即將數據寫到磁盤中,而是先寫入這塊buffer中了。
此時如果重啟系統,就可能造成數據丟失。

sync命令用來flush文件系統buffer,這樣數據才會真正的寫到磁盤中,並且buffer才能夠釋放出來。
flush就是用來清空buffer。
sync命令會強制將數據寫入磁盤中,並釋放該數據對應的buffer,
所以常常會在寫磁盤後輸入sync命令來將數據真正的寫入磁盤。

如果不去手動的輸入sync命令來真正的去寫磁盤,linux系統也會有兩種寫磁盤的時機:
1. kflush內核線程周期性的去寫磁盤;
2. buffer已滿不得不寫。

待確認問題:
是有一個kflush的thread去周期性的sync嗎?

Copyright © Linux教程網 All Rights Reserved