Linux釋放cache記憶體
/proc是個虛擬文件系統,我們能夠通過對他的讀寫操作做為和kernel實體間進行通訊的一種手段。也就是說能夠通過修改/proc中的文件,來對當前kernel的行為做出調整。
那麼我們能夠通過調整/proc/sys/vm/drop_caches來釋放記憶體。操作如下:
1、檢視 /proc/sys/vm/drop_caches的值,預設為0:
[root@server test]# cat /proc/sys/vm/drop_caches 0
2、手動執行sync命令:
[root@server test]# sync
sync 命令執行 sync 子例程。假如必須停止系統,則執行 sync 命令以確保文件系統的完整性。sync 命令將任何未寫的系統緩衝區寫到磁碟中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫對映文件。
3、將/proc/sys/vm/drop_caches值設為3
[root@server test]# echo 3 > /proc/sys/vm/drop_caches [root@server test]# cat /proc/sys/vm/drop_caches 3
4、再來執行free命令:
[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
發現現在的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, 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.
相關文章
- Linux記憶體、Swap、Cache、BufferLinux記憶體
- XCode釋放記憶體XCode記憶體
- vector 的記憶體釋放記憶體
- Linux系統手動釋放記憶體快取Linux記憶體快取
- 記憶體的分配與釋放,記憶體洩漏記憶體
- C# 垃圾回收釋放記憶體C#記憶體
- golang 釋放記憶體機制的探索Golang記憶體
- vector clear() 方法 記憶體釋放問題記憶體
- 如何主動釋放 HeapIdle 的記憶體API記憶體
- C/C++記憶體分配以及釋放C++記憶體
- Linux如何手動釋放Swap、Buffer和CacheLinux
- .Net記憶體管理釋放的兩種方式記憶體
- linux結束處於Tl狀態的程序,釋放記憶體資源Linux記憶體
- 手動釋放Linux上的Swap、Buffer和CacheLinux
- Vector() 記憶體釋放 不得不說的故事記憶體
- 怎麼手動在rstudio中釋放記憶體?記憶體
- C++ vector 釋放記憶體的兩種方法C++記憶體
- Chrome 再次最佳化記憶體佔用問題,新增記憶體釋放開關Chrome記憶體
- 如何在Mac上釋放記憶體?Mac清除RAM教程Mac記憶體
- win10如何設定自動釋放記憶體_win10怎麼設定自動清理系統垃圾釋放記憶體Win10記憶體
- [轉帖]深入JVM - Code Cache記憶體池JVM記憶體
- iOS 解決設定rootViewController 記憶體不釋放問題iOSViewController記憶體
- .NET 記憶體管理兩種有效的資源釋放方式記憶體
- [Linux]共享記憶體Linux記憶體
- C語言記憶體管理,分配、使用、釋放以及安全性C語言記憶體
- linux記憶體管理(一)實體記憶體的組織和記憶體分配Linux記憶體
- C/C++使用malloc為結構體陣列分配記憶體(及free釋放記憶體)的三種方法C++結構體陣列記憶體
- Linux實體記憶體管理Linux記憶體
- Linux共享記憶體(二)Linux記憶體
- Linux 虛擬記憶體Linux記憶體
- C++ - 二級指標動態記憶體申請與釋放C++指標記憶體
- Rust記憶體安全解釋Rust記憶體
- Linux記憶體子系統——Locking Pages(記憶體鎖定)Linux記憶體
- Linux記憶體洩露案例分析和記憶體管理分享Linux記憶體洩露
- win10為硬體保留的記憶體怎麼釋放 win10取消為硬體保留的記憶體怎麼操作Win10記憶體
- 如何檢視linux系統中空閒記憶體/實體記憶體使用/剩餘記憶體Linux記憶體
- CVE-2018-4990 Acrobat Reader堆記憶體越界訪問釋放漏洞分析BAT記憶體
- dll內申請的記憶體可以由呼叫它的程式釋放嗎?記憶體
- linux 釋放埠Linux