91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux下怎么釋放cache內存

發布時間:2021-07-21 12:05:17 來源:億速云 閱讀:1093 作者:chen 欄目:云計算

本篇內容介紹了“linux下怎么釋放cache內存”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

細心的朋友會注意到,當你在linux下頻繁存取文件后,物理內存會很快被用光,當程序結束后,內存不會被正常釋放,而是一直作為caching.這個問題,貌似有不少人在問,不過都沒有看到有什么很好解決的辦法.那么我來談談這個問題.

  先來說說free命令

  [root@server ~]# free -m

  total       used       free     shared    buffers     cached

  Mem:           249        163         86          0         10         94

  -/+ buffers/cache:         58        191

  Swap:          511          0        511

  其中:

  total 內存總數

  used 已經使用的內存數

  free 空閑的內存數

  shared 多個進程共享的內存總額

  buffers Buffer Cache和cached Page Cache 磁盤緩存的大小

  -buffers/cache 的內存數:used - buffers - cached

  +buffers/cache 的內存數:free + buffers + cached

  可用的memory=free memory+buffers+cached

  有了這個基礎后,可以得知,我現在used為163MB,free為86,buffer和cached分別為10,94

  那么我們來看看,如果我執行復制文件,內存會發生什么變化.

  [root@server ~]# cp -r /etc ~/test/

  [root@server ~]# free -m

  total       used       free     shared    buffers     cached

  Mem:           249        244          4          0          8        174

  -/+ buffers/cache:         62        187

  Swap:          511          0        511

  在我命令執行結束后,used為244MB,free為4MB,buffers為8MB,cached為174MB,天吶都被cached吃掉了.別緊張,這是為了提高文件讀取效率的做法.

  引用[url]http://www.2qyou.com/thread-591-1-1.html[/url] 為了提高磁盤存取效率, Linux做了一些精心的設計, 除了對dentry進行緩存(用于VFS,加速文件路徑名到inode的轉換), 還采取了兩種主要Cache方式:Buffer Cache和Page Cache。前者針對磁盤塊的讀寫,后者針對文件inode的讀寫。這些Cache有效縮短了 I/O系統調用(比如read,write,getdents)的時間。"

  那么有人說過段時間,linux會自動釋放掉所用的內存,我們使用free再來試試,看看是否有釋放>?

  [root@server test]# free -m

  total       used       free     shared    buffers     cached

  Mem:           249        244          5          0          8        174

  -/+ buffers/cache:         61        188

  Swap:          511          0        511

  MS沒有任何變化,那么我能否手動釋放掉這些內存呢???回答是可以的!

  /proc是一個虛擬文件系統,我們可以通過對它的讀寫操作做為與kernel實體間進行通信的一種手段.也就是說可以通過修改/proc中的文件,來對當前kernel的行為做出調整.那么我們可以通過調整/proc/sys/vm/drop_caches來釋放內存.操作如下:

  [root@server test]# cat /proc/sys/vm/drop_caches

  0

  首先,/proc/sys/vm/drop_caches的值,默認為0

  [root@server test]# sync

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

  [root@server test]# echo 3 > /proc/sys/vm/drop_caches

  [root@server test]# cat /proc/sys/vm/drop_caches

  3

  將/proc/sys/vm/drop_caches值設為3

  [root@server test]# free -m

  total       used       free     shared    buffers     cached

  Mem:           249         66        182          0          0         11

  -/+ buffers/cache:         55        194

  Swap:          511          0        511

  再來運行free命令,發現現在的used為66MB,free為182MB,buffers為0MB,cached為11MB.那么有效的釋放了buffer和cache.

  有關/proc/sys/vm/drop_caches的用法在下面進行了說明

  /proc/sys/vm/drop_caches (since Linux 2.6.16)

  Writing  to  this  file  causes the kernel to drop clean caches,

  dentries and inodes from memory, causing that memory  to  become

  free.

  To  free  pagecache:

         #echo 1 > /proc/sys/vm/drop_caches

        #echo 2 > /proc/sys/vm/drop_caches;

  #echo  3  >/proc/sys/vm/drop_caches.

  Because this is a non-destructive operation  and  dirty  objects

補充:top命令按住M,是關于內存的從大到小的排序,按住P是關于CPU的占用率排序,  pmap 進程號顯示進程占用的內存,PS  X |GREP 進程號也有此作用。vmstat顯示系統資源、內存的占用率。

“linux下怎么釋放cache內存”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安丘市| 普兰县| 龙海市| 瓮安县| 哈尔滨市| 宜城市| 桃江县| 伊宁县| 利辛县| 瓦房店市| 福建省| 乌苏市| 六盘水市| 平潭县| 太仓市| 平武县| 长岭县| 澜沧| 金溪县| 阿勒泰市| 惠安县| 旬阳县| 双鸭山市| 南宁市| 茌平县| 武冈市| 若尔盖县| 定日县| 林芝县| 华蓥市| 孝昌县| 颍上县| 建德市| 吉木乃县| 屏东县| 双辽市| 平昌县| 丹东市| 张家川| 美姑县| 四子王旗|