linux 記憶體釋放命令
# sync
# echo 1 > /proc/sys/vm/drop_caches
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。這些cache起來的內容可以增加檔案以及的讀寫速度。
先說下free命令怎麼看記憶體
[root@yuyii proc]# free
total
Mem: 515588 295452 220136 0
-/+ 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——未使用
手動執行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的用法在下面進行了說明
/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, use echo 1 >
/proc/sys/vm/drop_caches; to
free dentries and inodes, use echo 2 >
/proc/sys/vm/drop_caches;
to free pagecache, dentries and inodes, use echo 3
>
/proc/sys/vm/drop_caches.
Because this is a non-destructive operation and dirty objects
are not freeable, the user should run sync(8) first.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9907339/viewspace-1050137/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux釋放記憶體Linux記憶體
- Linux釋放記憶體及手動釋放Oracle共享記憶體段Linux記憶體Oracle
- 轉 linux 記憶體釋放Linux記憶體
- Linux釋放cache記憶體Linux記憶體
- Linux之 手動釋放記憶體Linux記憶體
- Linux下如何釋放cache記憶體Linux記憶體
- Linux系統釋放cache記憶體Linux記憶體
- Linux手動釋放快取記憶體Linux快取記憶體
- vector 的記憶體釋放記憶體
- XCode釋放記憶體XCode記憶體
- vector 避免記憶體頻繁分配釋放與手動釋放vector記憶體記憶體
- 如何釋放linux cache佔用的記憶體Linux記憶體
- 記憶體的分配與釋放,記憶體洩漏記憶體
- 記錄一下,linux釋放記憶體的方法Linux記憶體
- Linux系統手動釋放記憶體快取Linux記憶體快取
- C# 垃圾回收釋放記憶體C#記憶體
- 正確釋放Vector的記憶體記憶體
- FireFox記憶體自動釋放Firefox記憶體
- 手工釋放linux記憶體——/proc/sys/vm/drop_cacheLinux記憶體
- golang 釋放記憶體機制的探索Golang記憶體
- vector clear() 方法 記憶體釋放問題記憶體
- C/C++記憶體分配以及釋放C++記憶體
- mongodb釋放記憶體-切換日誌MongoDB記憶體
- 手動釋放linux下cache所佔用的實體記憶體Linux記憶體
- 手工釋放linux記憶體——/proc/sys/vm/drop_caches(轉載)Linux記憶體
- 如何主動釋放 HeapIdle 的記憶體API記憶體
- .Net記憶體管理釋放的兩種方式記憶體
- Linux系統記憶體使用的體會及命令解釋(轉)Linux記憶體
- 共享記憶體段未釋放導致資料庫記憶體被耗盡記憶體資料庫
- Vector() 記憶體釋放 不得不說的故事記憶體
- C++ vector 釋放記憶體的兩種方法C++記憶體
- android釋放記憶體的一個辦法Android記憶體
- 簡單分配和釋放記憶體指令碼[更新]記憶體指令碼
- Chrome 再次最佳化記憶體佔用問題,新增記憶體釋放開關Chrome記憶體
- linux結束處於Tl狀態的程序,釋放記憶體資源Linux記憶體
- 如何在Mac上釋放記憶體?Mac清除RAM教程Mac記憶體
- C/C++記憶體釋放應注意的問題C++記憶體
- 高質量的C程式碼.釋放記憶體 薦記憶體