buffer/cache空間可以被釋放


buffer/cache空間可以被釋放,這個理解是正確的,但是伴隨着cache清除的行為的,一般都是系統IO飆高

cache不能被回收的三種情況:


1、使用tmpfs 臨時文件系統的, 可以將內存的一部分空間拿來當做文件系統使用。
使用 echo 3 > /proc/sys/vm/drop_caches 清空無效,內存無法被回收。


2、共享內存
命令:
ipcs -m列出當前的共享內存使用
ipcrm -m 刪除指定id的共享內存段


3.使用mmap申請標志狀態為MAP_SHARED的內存,內核也是使用的cache進行存儲的。在進程對相關內存沒有釋放之前,這段cache也是不能被正常釋放



1、 Buffer (緩沖區)是系統兩端處理 速度平衡 (從長時間尺度上看)時使用的。它的引入是為了減小短期內突發I/O的影響,起到 流量整形 的作用。比如生產者——消費者問題,他們產生和消耗資源的速度大體接近,加一個buffer可以抵消掉資源剛產生/消耗時的突然變化。
2、 Cache (緩存)則是系統兩端處理 速度不匹配 時的一種 折衷策略 。因為CPU和memory之間的速度差異越來越大,所以人們充分利用數據的局部性(locality)特征,通過使用存儲系統分級(memory hierarchy)的策略來減小這種差異帶來的影響。
3、假定以后存儲器訪問變得跟CPU做計算一樣快,cache就可以消失,但是buffer依然存在。比如從網絡上下載東西,瞬時速率可能會有較大變化,但從長期來看卻是穩定的,這樣就能通過引入一個buffer使得OS接收數據的速率更穩定,進一步減少對磁盤的傷害。
4、TLB(Translation Lookaside Buffer,翻譯后備緩沖器)名字起錯了,其實它是一個cache.






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM