linux數(shù)據(jù)緩存命令行 linux查看緩存數(shù)據(jù)

如何為linux釋放緩存

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

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),德惠網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:德惠等地區(qū)。德惠做網(wǎng)站價(jià)格咨詢:18982081108

不釋放

1

釋放頁緩存

2

釋放dentries和inodes

3

釋放所有緩存

知道了參數(shù)后,我們就可以根據(jù)我們的需要,使用下面的指令來進(jìn)行操作。

首先我們需要使用sync指令,將所有未寫的系統(tǒng)緩沖區(qū)寫到磁盤中,包含已修改的

i-node、已延遲的塊

i/o

和讀寫映射文件。否則在釋放緩存的過程中,可能會(huì)丟失未保存的文件。

#sync

接下來,我們需要將需要的參數(shù)寫進(jìn)/proc/sys/vm/drop_caches文件中,比如我們需要釋放所有緩存,就輸入下面的命令:

#echo

3

/proc/sys/vm/drop_caches

此指令輸入后會(huì)立即生效,可以查詢現(xiàn)在的可用內(nèi)存明顯的變多了。

要查詢當(dāng)前緩存釋放的參數(shù),可以輸入下面的指令:

#cat

/proc/sys/vm/drop_caches

下面我們來看一個(gè)實(shí)際測試:

先看看內(nèi)存使用狀況

[root@node1

~]#

free

-m

total

used

free

shared

buffers

cached

mem:

8004

6557

1446

163

5630

-/+

buffers/cache:

763

7240

swap:

1983

1983

把內(nèi)存里的數(shù)據(jù)暫時(shí)寫到硬盤里

[root@node1

~]#

sync

修改/proc/sys/vm/drop_caches文件

[root@node1

~]#

echo

3

/proc/sys/vm/drop_caches

[root@node1

~]#

cat

/proc/sys/vm/drop_caches

再看內(nèi)存,終于釋放出來了。

[root@node1

~]#

free

-m

total

used

free

shared

buffers

cached

mem:

8004

631

7372

60

-/+

buffers/cache:

570

7433

swap:

1983

1983

如何為linux釋放內(nèi)存和緩存

在Linux系統(tǒng)下,我們一般不需要去釋放內(nèi)存,因?yàn)橄到y(tǒng)已經(jīng)將內(nèi)存管理的很好。但是凡事也有例外,有的時(shí)候內(nèi)存會(huì)被緩存占用掉,導(dǎo)致系統(tǒng)使用SWAP空間影響性能,此時(shí)就需要執(zhí)行釋放內(nèi)存(清理緩存)的操作了。

Linux系統(tǒng)的緩存機(jī)制是相當(dāng)先進(jìn)的,他會(huì)針對dentry(用于VFS,加速文件路徑名到inode的轉(zhuǎn)換)、Buffer Cache(針對磁盤塊的讀寫)和Page Cache(針對文件inode的讀寫)進(jìn)行緩存操作。但是在進(jìn)行了大量文件操作之后,緩存會(huì)把內(nèi)存資源基本用光。但實(shí)際上我們文件操作已經(jīng)完成,這部分緩存已經(jīng)用不到了。這個(gè)時(shí)候,我們難道只能眼睜睜的看著緩存把內(nèi)存空間占據(jù)掉么?

所以,我們還是有必要來手動(dòng)進(jìn)行Linux下釋放內(nèi)存的操作,其實(shí)也就是釋放緩存的操作了。

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

0 – 不釋放

1 – 釋放頁緩存

2 – 釋放dentries和inodes

3 – 釋放所有緩存

知道了參數(shù)后,我們就可以根據(jù)我們的需要,使用下面的指令來進(jìn)行操作。

首先我們需要使用sync指令,將所有未寫的系統(tǒng)緩沖區(qū)寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件。否則在釋放緩存的過程中,可能會(huì)丟失未保存的文件。

#sync

接下來,我們需要將需要的參數(shù)寫進(jìn)/proc/sys/vm/drop_caches文件中,比如我們需要釋放所有緩存,就輸入下面的命令:

#echo 3 /proc/sys/vm/drop_caches

此指令輸入后會(huì)立即生效,可以查詢現(xiàn)在的可用內(nèi)存明顯的變多了。

要查詢當(dāng)前緩存釋放的參數(shù),可以輸入下面的指令:

#cat /proc/sys/vm/drop_caches

#free -m

對于清除swap,只有先關(guān)閉swap了,用:

#swapoff -a

而后啟用swap,因?yàn)橹皇乔宄?,不是說不要用swap的嘛 :

#swapon -a

Linux 自動(dòng)釋放內(nèi)存腳本

發(fā)表于119 天前 ? 技術(shù)文章 ? 暫無評論

腳本下載地址:Cached

腳本內(nèi)容:

#! /bin/bash

# cache釋放:

# To free pagecache:

sync

sync

#echo 1 /proc/sys/vm/drop_caches

# To free dentries and inodes:

#echo 2 /proc/sys/vm/drop_caches

# To free pagecache, dentries and inodes:

echo 3 /proc/sys/vm/drop_caches

# 說明,釋放前最好sync一下,防止丟數(shù)據(jù)。

利用系統(tǒng)crontab實(shí)現(xiàn)每天自動(dòng)運(yùn)行:

crontab -e

輸入以下內(nèi)容:

00 00 * * * /root/Cached.sh

每天0點(diǎn)釋放一次內(nèi)存,這個(gè)時(shí)間可以根據(jù)自己需要自行設(shè)置,我的服務(wù)器情況是每天自動(dòng)釋放一次就OK了

在設(shè)置這個(gè)腳本的時(shí)候,發(fā)生了一系列的問題

在測試運(yùn)行./Cached.sh時(shí)提示錯(cuò)誤:Permission denied 權(quán)限的問題

解決方法:

chmod +x .Cached.sh

chmod 777 Cached.sh

接著又出現(xiàn)錯(cuò)誤提示:/bin/bash^M: bad interpreter: No such file or directory

這是因?yàn)樵趙indows下編輯的.sh文件編碼格式和linux下不一樣,轉(zhuǎn)換一下編碼格式即可:

dos2unix Cached.sh

linux內(nèi)存做硬盤緩存

Linux中要查看硬盤緩存大小,可以使用hdparm命令。 1、在終端中執(zhí)行如下命令。 sudo hdparm -I /dev/sdb2、執(zhí)行效果如下圖所示,其中cache/buffer size行即為緩存大校 說明:-I:直接讀取硬盤所提供的硬件規(guī)格信息,/dev/sdb指的電腦中的第二塊

文章標(biāo)題:linux數(shù)據(jù)緩存命令行 linux查看緩存數(shù)據(jù)
路徑分享:http://muchs.cn/article42/dohoeec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站收錄、服務(wù)器托管、移動(dòng)網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站建設(shè)

廣告

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

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司