因為linux 的核心 機制,一般情況下不需要特意去釋放已經使用的cache。這些cache起來的內容可以增加檔案以及的讀寫速度。
先說下free命令怎麼看記憶體
[root@ahsq proc]# free
total used free shared buffers cached
mem: 515588 295452 220136 0 2060 64040
-/+ buffers/cache: 229352 286236
swap: 682720 112 682608
其中第一行用全域性角度描述系統使用的記憶體狀況:
total——總物理記憶體
used——已使用記憶體,一般情況這個值會比較大,因為這個值包括了cache+應用程式使用的記憶體
free——完全未被使用的記憶體
shared——應用程式共享記憶體
buffers——快取,主要用於目錄方面,inode值等(ls大目錄可看到這個值增加)
cached——快取,用於已開啟的檔案
note:
total=used+free
used=buffers+cached (maybe add shared also)
第二行描述應用程式的記憶體使用:
前個值表示-buffers/cache——應用程式使用的記憶體大小,used減去快取值
後個值表示+buffers/cache——所有可**用程式使用的記憶體大小,free加上快取值
note:
-buffers/cache=used-buffers-cached
+buffers/cache=free+buffers+cached
第三行表示swap的使用:
used——已使用
free——未使用
cache釋放:
to free pagecache:
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一下,防止丟資料。
linux系統中手動釋放 cache
確認當前的drop caches時候為預設值 0 2.手動執行sync命令,確保系統的完整性,將所有未寫的系統緩衝區寫到磁碟中,包含已修改的i node 已延遲的塊i o和讀寫對映檔案 3.手動釋放cache 另 release pagecache echo 1 proc sys vm drop c...
linux下釋放cache記憶體
細心的朋友會注意到,當你在linux下頻繁訪問檔案後,物理記憶體會很快被用光,當程式結束後,記憶體不會被正常釋放,而是一直作為caching.這個問題,貌似有不少人在問,不過都沒有看到有什麼很好解決的辦法.那麼我來談談這個問題.先來說說free命令 root server free m total ...
linux下釋放cache記憶體
細心的朋友會注意到,當你在linux下頻繁訪問檔案後,物理記憶體會很快被用光,當程式結束後,記憶體不會被正常釋放,而是一直作為caching.這個問題,貌似有不少人在問,不過都沒有看到有什麼很好解決的辦法.那麼我來談談這個問題.先來說說free命令 root server free m total ...