關於OSX 10.9的壓縮記憶體功能 - MAC

Table of Contents


回一下推文的問題

→ joulin:請問一下 所謂的壓縮記憶體功能 有什麼好處? 只有最新OS 10/23 11:46
→ joulin:才可以進行嗎? 最近也因為記憶體只有4G 很頭痛 10/23 11:46

一般 mac 關掉視窗, 並不是真的關掉
還是會保留一部分在記憶體裡當快取 (有點像iphone縮在下面暫停的感覺)

所以才會有 mac 吃記憶體(或利用率)比 windows高的現象
記憶體空間相對換來執行反應時間的流暢與快速

而壓縮記憶體就是針對這些當做快取的記憶體空間去做壓縮
等於用CPU時間去換記憶體空間 (咦?)

但怎樣都比從硬碟裡swap資料回來快多了(也更省電)
所以很值得

舉個例子

<4G total/壓縮率33%>
壓縮前 : 1G 佔用/3G 快取
壓縮後 : 1G 佔用/1G 壓縮快取/ 2G 空閒記憶體

等於又多出 2G記憶體, 如果這 2G又當做快取壓縮就可以塞更多

這個作法其實在 In-Memory database算是很常用的手段
尤其是 no-sql DB, 是壓榨極速後, 碰到空間瓶頸的妥協
(database碰到swap, 服務很容易進到loop死掉)

分享給大家 o_o


※ 引述《Gindaco (ABC)》之銘言:
: 小弟想請問大家更新成 Mavericks後
: 系統如果有過大的閒置記憶體空間就會把它壓縮
: 因為我的macbook air是4G版本
: 但更新以後使用記憶體管理程式
: 常常會發現實際可供使用的記憶體僅剩3G左右
: 有1G幾乎都會被吃掉
: 但是當系統滿載的時候(閒置記憶體達100mb以下)
: 這1G也不會跑回來
: 造成現在開什麼都容易腿到不行
: 想請問大家我這情況有辦法解決嘛?
: 還是其實根本他記憶體控管本身是沒問題的
: 只是我想太多?
: 謝謝大家

--

All Comments

Ethan avatarEthan2013-10-26
感謝大大回答!! 謝謝您!!!
Todd Johnson avatarTodd Johnson2013-10-30
另外 有了這個功能 我的電腦是不是就不會生出一堆swapfile
(虛擬記憶體) 去佔用硬碟空間了
Todd Johnson avatarTodd Johnson2013-11-02
快推以免人家以為我看不懂XD
Jacky avatarJacky2013-11-05
對 SSD 壽命也更有幫助喔~
Swap 不至於不會產生,但是可以減少。
Isla avatarIsla2013-11-09
目前來講這功能的確對swap有抑制作用
但是會造成一些程式誤判,比方說eclipse會回報oom
Hamiltion avatarHamiltion2013-11-09
請問一下 原PO所謂的快取的 是在活動監測器中的哪一欄?
固定的? 現用的? 還是非現用的?
Oliver avatarOliver2013-11-13
目前已我工作來講誤判頗大 eclipse一直回報java vm oom
Daniel avatarDaniel2013-11-16
k大 您說的誤判 會造成什麼影響? 程式執行不穩? 閃退?
還是 系統整個死當(這就很嚴重了@@)
Oscar avatarOscar2013-11-20
應該跟你們這些終端使用者比較沒有關係,主要是開發環境
jvm oom誤判其實目前來講沒啥大不了 就eclipse會重開vm
不過目前我不知道是新的java patch有問題還是mavericks
的記憶體策略造成的誤判
Poppy avatarPoppy2013-11-22
K大這句話在我看來等於: 對你這個死老百姓沒有影響
XDDDDDDDDDDDDDDDDD
Lauren avatarLauren2013-11-24
maa... 是真的比較無關就是(抓頭)除非你都用eclipse
來看網頁(有這種人嗎)
Isla avatarIsla2013-11-24
應該是非現用的, 然後 jvm的oom應該是新的定址方法錯誤導致