linux命令sync 查看文件大小的Linux命令

如何在Linux上使用sync命令

sync命令用于強(qiáng)制被改變的內(nèi)容立刻寫入磁盤,更新超塊信息。 在Linux/Unix系統(tǒng)中,在文件或數(shù)據(jù)處理過程中一般先放到內(nèi)存緩沖區(qū)中,等到適當(dāng)?shù)臅r候再寫入磁盤,以提高系統(tǒng)的運(yùn)行效率。sync命令則可用來強(qiáng)制將內(nèi)存緩沖區(qū)中的數(shù)據(jù)立即寫入磁盤中。用戶通常不需執(zhí)行sync命令,系統(tǒng)會自動執(zhí)行update或bdflush操作,將緩沖區(qū)的數(shù)據(jù)寫 入磁盤。只有在update或bdflush無法執(zhí)行或用戶需要非正常關(guān)機(jī)時,才需手動執(zhí)行sync命令。

成都創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為承德企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè),承德網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

語法 sync(選項) 選項 --help:顯示幫助; --version:顯示版本信息。

buffer與cache buffer:為了解決寫磁盤的效率 cache:為了解決讀磁盤的效率 linux系統(tǒng)為了提高讀寫磁盤的效率,會先將數(shù)據(jù)放在一塊buffer中。在寫磁盤時并不是立即將數(shù)據(jù)寫到磁盤中,而是先寫入這塊buffer中了。此時如果重啟系統(tǒng),就可能造成數(shù)據(jù)丟失。 sync命令用來flush文件系統(tǒng)buffer,這樣數(shù)據(jù)才會真正的寫到磁盤中,并且buffer才能夠釋放出來,flush就是用來清空buffer。sync命令會強(qiáng)制將數(shù)據(jù)寫入磁盤中,并釋放該數(shù)據(jù)對應(yīng)的buffer,所以常常會在寫磁盤后輸入sync命令來將數(shù)據(jù)真正的寫入磁盤。

通過sync命令,能夠釋放數(shù)據(jù)中的buffer,加快Linux磁盤的讀寫速度,以達(dá)到提高磁盤讀寫效率的目的。

linux下清理內(nèi)存以及swap

第一步:先執(zhí)行sync命令

#sync

sync命令用于強(qiáng)制被改變的內(nèi)容立刻寫入磁盤,更新超塊信息,以防止釋放,sync命令則可用來強(qiáng)制將內(nèi)存緩沖區(qū)中的數(shù)據(jù)立即寫入磁盤中。

第二步:清理linux內(nèi)存緩存

#echo 3 /proc/sys/vm/drop_caches

一般系統(tǒng)是不會自動釋放內(nèi)存的

關(guān)鍵的配置文件/proc/sys/vm/drop_caches。這個文件中記錄了緩存釋放的參數(shù),默認(rèn)值為0,也就是不釋放緩存。他的值可以為0~3之間的任意數(shù)字,代表著不同的含義:

0 – 不釋放

1 – 釋放頁緩存

2 – 釋放dentries和inodes

3 – 釋放所有緩存

此指令輸入立即生效,意在釋放所有緩存。

第三步:關(guān)閉swap,再開啟swap

(如果只是清理swap,第二部可以不用進(jìn)行操作,因?yàn)椴僮髁说诙疥P(guān)閉swap時會使用更長的時間)

#swapoff -a? 這一步因?yàn)槭呛笈_ 在一點(diǎn)一點(diǎn)的釋放,如果配置的swap超大,這里就等待得超久一些

#swapon -a? 再開啟

linux什么時候開始使用虛擬內(nèi)存(swap)

A.[root@wenwen ~]# cat /proc/sys/vm/swappiness

60

上面這個60代表物理內(nèi)存在使用60%的時候才會使用swap

swappiness=0的時候表示最大限度使用物理內(nèi)存,然后才是 swap空間,

swappiness=100的時候表示積極的使用swap分區(qū),并且把內(nèi)存上的數(shù)據(jù)及時的搬運(yùn)到swap空間里面。

通常情況下:

swap分區(qū)設(shè)置建議是內(nèi)存的兩倍 (內(nèi)存小于等于4G時),如果內(nèi)存大于4G,swap只要比內(nèi)存大就行。另外盡量的將swappiness調(diào)低,這樣系統(tǒng)的性能會更好。

B.修改swappiness參數(shù)

臨時性修改:

[root@wenwen ~]# sysctl vm.swappiness=10

vm.swappiness = 10

[root@wenwen ~]# cat /proc/sys/vm/swappiness? ? ? ? ? ? ? ?

10

永久性修改:

[root@wenwen ~]# vim /etc/sysctl.conf

加入?yún)?shù):

vm.swappiness = 35

然后在直接:

[root@wenwen ~]# sysctl -p

查看是否生效:

cat /proc/sys/vm/swappiness

35

總結(jié) - sync 命令,簡潔不簡單

強(qiáng)制將內(nèi)存中的文件緩沖寫入磁盤,更新塊信息。

在 linux/unix 系統(tǒng)中,在文件或數(shù)據(jù)處理過程中一般先放到內(nèi)存緩沖區(qū)中,等到適當(dāng)?shù)臅r候再寫入磁盤,以提高系統(tǒng)的運(yùn)行效率。

sync 命令則可用來強(qiáng)制將內(nèi)存緩沖區(qū)中的數(shù)據(jù)立即寫入磁盤。用戶通常無需執(zhí)行 sync 命令,系統(tǒng)會自動執(zhí)行 update 或 bdflush 操作,將緩沖區(qū)的數(shù)據(jù)寫入磁盤。

那么什么是緩沖(buffer)、緩存(cache),二者又有什么關(guān)系及區(qū)別呢?

簡單的理解為: buffer 是即將要被寫入磁盤的,而 cache 是被從磁盤中讀出來的。

緩沖(buffers)是根據(jù)磁盤的讀寫設(shè)計的,把分散的寫操作集中進(jìn)行,減少磁盤碎片和硬盤的反復(fù)尋道,從而提高系統(tǒng)性能。linux 有一個守護(hù)進(jìn)程定期清空緩沖內(nèi)容(即寫入磁盤),也可以通過 sync 命令手動清空緩沖。

沒有找到具體的命令查看有那些文件處于緩沖狀態(tài),也就無法看到運(yùn)行 sync 命令后的效果。網(wǎng)上甚至看到為保險起起見執(zhí)行 2 次還是 4 次 sync 命令的討論。

緩存(cache)其實(shí)全稱叫高速緩存,是位于 CPU 與主內(nèi)存間的一種容量較小但速度很高的存儲器。

由于 CPU 的速度遠(yuǎn)高于主內(nèi)存,CPU 直接從內(nèi)存中存取數(shù)據(jù)要等待一定時間周期,cache 中保存著 CPU 剛用過或循環(huán)使用的數(shù)據(jù),當(dāng) CPU 再次使用該部分?jǐn)?shù)據(jù)時可從 cache 中直接調(diào)用,這樣就減少了 CPU 的等待時間,提高了系統(tǒng)的效率。

cache 經(jīng)常被用在磁盤的 I/O 請求上,如果有多個進(jìn)程都要訪問某個文件,于是該文件便被寫入 cache 以方便下次被訪問,以此提高系統(tǒng)性能。

內(nèi)存與緩存都是寶貴且配置有限的,如何根據(jù)需要來手工清除釋放緩存呢?

有三種選項清除緩存而無需中斷任何進(jìn)程或服務(wù):

可以配合 free 命令查看清理緩存的效果,相當(dāng)?shù)牧⒏鸵娪啊?/p>

sync 命令雖然重要,但針對緩沖的作用以及具體操作都比較單一,倒被緩存這個概念喧賓奪主了,這篇筆記顯然有些跑題。

當(dāng)前題目:linux命令sync 查看文件大小的Linux命令
網(wǎng)站鏈接:http://muchs.cn/article22/doshijc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作營銷型網(wǎng)站建設(shè)、企業(yè)建站、自適應(yīng)網(wǎng)站、關(guān)鍵詞優(yōu)化、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)