linux系统中cache清理/释放命令
本文參考博客:《(Linux)釋放系統(tǒng)緩存操作》
目錄
前言
1.清緩存前同步
2.Linux釋放內(nèi)存
3.查看內(nèi)存
前言
在Linux系統(tǒng)中有先進(jìn)的緩存機(jī)制,會(huì)針對dentry(用于VFS,加速文件路徑名到inode的轉(zhuǎn)換)、Buffer Cache(針對磁盤塊的讀寫)和Page Cache(針對文件inode的讀寫)進(jìn)行緩存操作,有效縮短 I/O系統(tǒng)調(diào)用(比如read,write)的時(shí)間。但當(dāng)進(jìn)行了大量文件操作之后,緩存會(huì)把內(nèi)存資源基本用光,導(dǎo)致系統(tǒng)緩慢,使用swap空間,影響了性能,這時(shí)就需要清理緩存了。
手動(dòng)釋放緩存操作:
通過設(shè)置/proc/sys/vm/drop_caches來釋放內(nèi)存
操作環(huán)境:
Ubuntu 16.04
1.清除cache前同步
釋放cache前先使用sync命令做同步,將所有未寫的系統(tǒng)緩沖區(qū)寫到磁盤中,以確保文件系統(tǒng)的完整性,否則在釋放緩存的過程
中,可能會(huì)丟失未保存的文件。?
sync2.Linux釋放cache
/proc/sys/vm/drop_caches的值為是0-3之間的數(shù)字,代表不同的含義:?
0:不釋放(系統(tǒng)默認(rèn)值)?
1:釋放頁緩存?
2:釋放dentries和inodes?
3:釋放所有緩存
可進(jìn)行如下操作對cache進(jìn)行清除:
<1>釋放頁緩存?
echo 1 > /proc/sys/vm/drop_caches<2>釋放完內(nèi)存后改回去讓系統(tǒng)重新自動(dòng)分配內(nèi)存?
echo 0 >/proc/sys/vm/drop_caches<3>如果要釋放所有緩存?
echo 3 > /proc/sys/vm/drop_caches3.linux查看cache使用情況
看內(nèi)存的命令
free -m參數(shù)介紹:
total 內(nèi)存總數(shù)?
used 已使用內(nèi)存數(shù)?
free 空閑內(nèi)存數(shù)?
shared 多個(gè)進(jìn)程共享的內(nèi)存數(shù)?
buffers 緩存(用于目錄,inode值)?
cached 緩存(用于已打開的文件)
查看清除前后,l系統(tǒng)cache的使用情況:
//清除前 # free -mtotal used free shared buff/cache available Mem: 2474 964 292 10 1216 1263 Swap: 1021 5 1016# sync # echo 3 > /proc/sys/vm/drop_caches //清除后 # free -mtotal used free shared buff/cache available Mem: 2474 913 1232 13 327 1348 Swap: 1021 5 1016結(jié)果:cache確實(shí)被釋放,這種命令很實(shí)用呢。
總結(jié)
以上是生活随笔為你收集整理的linux系统中cache清理/释放命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 这个博主的《u-boot》总结的很好呢
- 下一篇: linux shel的学习网站(推荐)