日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

sync命令详解

發(fā)布時(shí)間:2024/6/21 综合教程 42 生活家
生活随笔 收集整理的這篇文章主要介紹了 sync命令详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn):https://blog.csdn.net/everything1209/article/details/50423679

1.誰和誰同步?

2.為什么要同步?復(fù)制移動(dòng)的過程不是同步的嗎,都發(fā)生了什么事情?

3.內(nèi)存和硬盤?

數(shù)據(jù)同步寫入磁盤:sync

在Linux系統(tǒng)中,為了加快數(shù)據(jù)的讀取速度,所以在默認(rèn)的情況中, 某些已經(jīng)加載內(nèi)存中的數(shù)據(jù)將不會(huì)直接被寫回硬盤,而是先緩存在內(nèi)存當(dāng)中,如此一來, 如果一個(gè)數(shù)據(jù)被你重復(fù)的改寫,那么由于他尚未被寫入硬盤中,因此可以直接由內(nèi)存當(dāng)中讀取出來, 在速度上一定是快上相當(dāng)多的!

不過,如此一來也造成些許的困擾,那就是萬一你的系統(tǒng)因?yàn)槟承┨厥馇闆r造成不正常關(guān)機(jī) (例如停電或者是不小心踢到power)時(shí),由于數(shù)據(jù)尚未被寫入硬盤當(dāng)中,哇!所以就會(huì)造成數(shù)據(jù)的升級不正常啦! 那要怎么辦呢?這個(gè)時(shí)候就需要sync這個(gè)命令來進(jìn)行數(shù)據(jù)的寫入動(dòng)作啦! 直接在文字接口下輸入sync,那么在內(nèi)存中尚未被升級的數(shù)據(jù),就會(huì)被寫入硬盤中!所以,這個(gè)命令在系統(tǒng)關(guān)機(jī)或重新啟動(dòng)之前, 很重要喔!最好多運(yùn)行幾次(2-4次)!

雖然目前的 shutdown/reboot/halt 等等命令均已經(jīng)在關(guān)機(jī)前進(jìn)行了 sync 這個(gè)工具的呼叫, 不過,多做幾次總是比較放心點(diǎn)~呵呵~

[root@hotapply home]# sync

[root@hotapply home]# sync

sync命令 linux同步數(shù)據(jù)命令

格式: sync 

用途:更新 i-node 表,并將緩沖文件寫到硬盤中。

功能:sync命令是在關(guān)閉Linux系統(tǒng)時(shí)使用的。 用戶需要注意的是,不能用簡單的關(guān)閉電源的方法關(guān)閉系統(tǒng),因?yàn)長inux象其他Unix系統(tǒng)一樣,在內(nèi)存中緩存了許多數(shù)據(jù),在關(guān)閉系統(tǒng)時(shí)需要進(jìn)行內(nèi)存數(shù)據(jù)與硬盤數(shù)據(jù)的同步校驗(yàn),保證硬盤數(shù)據(jù)在關(guān)閉系統(tǒng)時(shí)是最新的,只有這樣才能確保數(shù)據(jù)不會(huì)丟失。一般正常的關(guān)閉系統(tǒng)的過程是自動(dòng)進(jìn)行這些工作的,在系統(tǒng)運(yùn)行過程中也會(huì)定時(shí)做這些工作,不需要用戶干預(yù)。 sync命令是強(qiáng)制把內(nèi)存中的數(shù)據(jù)寫回硬盤,以免數(shù)據(jù)的丟失。用戶可以在需要的時(shí)候使用此命令。

sync 命令運(yùn)行 sync 子例程。如果必須停止系統(tǒng),則運(yùn)行 sync 命令以確保文件系統(tǒng)的完整性。sync 命令將所有未寫的系統(tǒng)緩沖區(qū)寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件。

Linux sync命令的作用分析

Sync命令

在用reboot命令啟動(dòng)unix系統(tǒng)后,系統(tǒng)提示出錯(cuò)信息,部分應(yīng)用程序不能正常工作。經(jīng)仔細(xì)檢查系統(tǒng)文件,并和初始的正確備份進(jìn)行比較,發(fā)現(xiàn)某些文件確實(shí)被破壞了,翻來覆去找不到文件遭破壞的原因,最后想到了寫緩存命令——sync,在reboot前沒有運(yùn)行sync命令,導(dǎo)致了系統(tǒng)文件的改變而不能正常工作。 www.2cto.com

  sync命令的作用是,將有關(guān)文件系統(tǒng)的存儲(chǔ)器常駐信息送入物理介質(zhì)內(nèi)。在暫停系統(tǒng)之前,比如要重新啟動(dòng)機(jī)器,一定要去執(zhí)行sync命令。unix系統(tǒng)運(yùn)行經(jīng)驗(yàn)表明,為確保可靠起見,應(yīng)執(zhí)行兩遍sync命令,這是因?yàn)閟ync命令完成時(shí),并不保證信息實(shí)際寫到了磁盤上,雖然已經(jīng)執(zhí)行了一遍這個(gè)命令。在執(zhí)行sync命令以后,要等待磁盤工作燈滅了(假定有系統(tǒng)工作指示燈的話),再去真正暫停機(jī)器的運(yùn)行或啟動(dòng)機(jī)器。
unix系統(tǒng)遭受破壞是隨時(shí)都可能發(fā)生的事情,因此在啟動(dòng)機(jī)器或關(guān)機(jī)之前一定要運(yùn)行sync命令。記住在任何情況下,慎重地執(zhí)行sync命令決不會(huì)有任何壞處 www.2cto.com

umount時(shí)間過長,sync命令的使用
有一個(gè)問題,比如 cp 一個(gè)文件到SD卡上,是不是首先先將這個(gè)文件寫到SDRAM上,然后umount的時(shí)候再將SDRAM中的內(nèi)容真正寫SD卡上? 我umount的時(shí)候會(huì)過多一會(huì)才出現(xiàn)終端的提示符,根據(jù)寫入文件的大小確定 umount的時(shí)間?
后來查了一下資料,Linux文件系統(tǒng)更新是一個(gè)復(fù)雜的過程,當(dāng)用戶程序?qū)ξ募到y(tǒng)進(jìn)行修改以后,例如進(jìn)行了寫操作,文件數(shù)據(jù)把修改記錄在內(nèi)核緩沖中,在數(shù)據(jù)沒有寫到磁盤的時(shí)候,依然能夠執(zhí)行用戶進(jìn)程,所有數(shù)據(jù)的改變都在inode的內(nèi)容中得到反映。磁盤的數(shù)據(jù)更新實(shí)際上是異步進(jìn)行的,很有可能在寫操作已經(jīng)完成很長時(shí)間以后才真正對磁盤的數(shù)據(jù)進(jìn)行更新。

sync命令強(qiáng)制把磁盤緩沖的所有數(shù)據(jù)寫入磁盤,如果在沒有把磁盤緩沖區(qū)的信息寫入磁盤之前終止系統(tǒng),則磁盤的文件系統(tǒng)就會(huì)處在一個(gè)不穩(wěn)定的狀態(tài)。而在正常模式下即使沒有對分區(qū)進(jìn)行umount的操作,在重啟之前系統(tǒng)會(huì)調(diào)用sync命令強(qiáng)制把磁盤緩沖的所有數(shù)據(jù)寫入磁盤,而在急救模式下必須對所掛的分區(qū)進(jìn)行umount的操作,系統(tǒng)才會(huì)調(diào)用sync命令強(qiáng)制把磁盤緩沖的所有數(shù)據(jù)寫入磁盤,請?jiān)诩本饶J较碌呐笥炎⒁膺@個(gè)問題。其實(shí)“reboot -n(Don’t sync before reboot or halt)”在重啟之前不用sync命令強(qiáng)制把磁盤緩沖的所有數(shù)據(jù)寫入磁盤,就很能說明問題。 www.2cto.com
所以要 cp 完之后要執(zhí)行 sync 命令將緩沖區(qū)的內(nèi)容寫到磁盤中,然后再umount 就不會(huì)出現(xiàn)延時(shí)了.

經(jīng)驗(yàn)證,采用此方法,延遲寫入問題可以解決

原文鏈接:https://www.linuxidc.com/Linux/2012-06/61871.htm

總結(jié)

以上是生活随笔為你收集整理的sync命令详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。