Linux下如何清理系統(tǒng)緩存并釋放內(nèi)存
Linux 下清理系統(tǒng)緩存并釋放內(nèi)存
緩存數(shù)據(jù)存放位置
當在Linux下頻繁存取文件后,物理內(nèi)存會很快被用光,當程序結(jié)束后,內(nèi)存不會被正常釋放,而是一直作為caching
因此我們很有必要手動清理系統(tǒng)緩存釋放內(nèi)存。
1、我們在清理緩存前應(yīng)該先sync下
sync
因為系統(tǒng)在操作的過程當中,會把你的操作到的文件資料先保存到buffer中去,因為怕你在操作的過程中因為斷電等原因遺失數(shù)據(jù),所以在你操作過程中會把文件資料先緩存。
所以我們在清理緩存先要先把buffe中的數(shù)據(jù)先寫入到硬盤中,sync命令
sync
- 手動執(zhí)行sync命令(描述:sync 命令運行 sync 子例程。
- 如果必須停止系統(tǒng),則運行sync 命令以確保文件系統(tǒng)的完整性。
- sync 命令將所有未寫的系統(tǒng)緩沖區(qū)寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件)
2、輸入手動釋放內(nèi)存的命令
echo 3 > /proc/sys/vm/drop_caches
drop_caches的值可以是0-3之間的數(shù)字,代表不同的含義:
0:不釋放(系統(tǒng)默認值) 1:釋放頁緩存 2:釋放dentries和inodes
3、此時已經(jīng)釋放了所有緩存
4、free -h 查看內(nèi)存是否已經(jīng)釋放掉
total——總物理內(nèi)存 used——已使用內(nèi)存,一般情況這個值會比較大,因為這個值包括了cache+應(yīng)用程序使用的內(nèi)存 free——完全未被使用的內(nèi)存 shared——應(yīng)用程序共享內(nèi)存 buffers——緩存,主要用于目錄方面,inode值等(ls大目錄可看到這個值增加)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SSH端口轉(zhuǎn)發(fā)實現(xiàn)內(nèi)網(wǎng)穿透的實現(xiàn)
這篇文章主要介紹了SSH端口轉(zhuǎn)發(fā)實現(xiàn)內(nèi)網(wǎng)穿透的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Linux C++ 使用condition實現(xiàn)阻塞隊列的方法
下面小編就為大家?guī)硪黄狶inux C++ 使用condition實現(xiàn)阻塞隊列的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01apache將不帶www域名301重定向到帶www的域名的配置方法
這篇文章主要介紹了apache將不帶www域名301重定向到帶www的域名的配置方法,需要的朋友可以參考下2014-04-04apache開啟.htaccess及.htaccess的使用方法
今天本地調(diào)試PHP程序,用到了.htaccess,而默認配置里面開啟.htaccess,在網(wǎng)上找到了開啟.htaccess的可行方法,供朋友們借鑒。2010-12-12