為何 Mac / OS X 的內存佔用那麼大?

沒有開什麼程序啊,為何佔用我百分之九十幾的內存,就給我留下254M,那個非活躍的內存區,我可以用嗎?


OS X 系統採用了 Unified Buffer Cache,空閑內存會被用來加速文件訪問,也就是你看到的藍色非活躍部分。正常情況下,如果有程序需要更多內存時,系統會從非活躍的部分釋放空間出來。所以實際上藍色部分是可以用的。

內存是寶貴的系統資源,閑置【綠色部分】是浪費。讓系統去管理就好了,不用操心。如果你實在想干涉系統的正常運作,可以打開終端輸入 purge 命令然後回車,藍色部分會顯著降低,但代價是你之後首次啟動程序、打開文件的延遲會顯著上升。之後系統又會根據你的訪問頻次把這些文件緩衝在內存裡面,然後藍色部分又會增加。

OS X 的早期版本的 UBC 管理策略不是很好,在個別情況下會造成 thrashing 從而嚴重影響系統響應速度。遇到這種情況,最簡單徹底的解決方法是重新登錄系統或者重啟。感覺從 10.6 開始這個問題已經得到了極大的解決,幾乎再也沒遇到過由於 UBC 導致的無響應了。

---- 以下內容僅對 OS X 應用開發者有意義,用戶請忽略 ----

如果你的程序需要訪問大量文件但只需要一次性順序訪問不需要重複隨機訪問,比如複製文件這種應用,可以考慮用 fcntl 系統調用關閉文件緩衝,減少不必要的 thrashing

fcntl(fd, F_GLOBAL_NOCACHE, 1);


贊同@Rio 。

開個回答就是為了順便吐槽一句(並非針對題主,僅針對那些內存釋放工具):

手動強迫系統釋放內存的行為都是耍流氓

內存這種寶貴的東西用掉的越多越好,空著就是浪費,暴殄天物。

內存管理是操作系統核心的本職工作之一,不要覺得一個系統連內存都管理不好,還非得藉助其他工具幫忙。


對於計算機設備來說,內存並不像硬碟這樣座位存儲空間,內存是一種高速的交換空間,所以他的利用率,合理的把程序放入內存,或者放入虛擬內存才是一個系統是否高效的表現之一。

如果你經常使用Windows系統的PC,特別是內存不太足夠的PC,你會發現應用程序之間的切換,經常會帶來大量的硬碟卡頓,這就是內存和虛擬內存(硬碟)之間在做交換,有時候即使這樣的時候內存佔用仍然不過一半而已,可體驗已經非常糟糕了。

相反Mac,我的感覺是iOS也類似,會更多的傾向於使用內存來提高系統的響應和體驗……不用釋放這些內存,你也不會覺得系統不流暢,釋放了也不會讓你覺得更舒服,本質上你就不用操心這事兒啦。


你們這些騙子!再也不相信愛情了!誰說的大量Inactive內存對正常使用沒有影響???

大量內存被Inactive佔用後,不管是開之前開過的程序還是新開程序,都卡哭了好么!卡!哭!了!


關於內存管理機制專業回答是理論,不是實際。本人用macbook pro r15, 開個unity,虛擬機(設定6g)和chrome打開十來個頁面,16g就耗盡,然後有時會顯示內存不足。mac用來工作確實不錯,安靜不像windows各種干憂,但並非神,兼容性,穩定性,用戶體驗都很一般。請果粉不要說「你一定是用macbook上跑windows這些話了。。。」 windows能全球最多電腦使用,兼容各種硬體,是經過很多技術積累才有今天,難道微軟就不會內存管理機制。


Mac OS X Lion 內存管理基本概念


我用MACPRO 2*2.4G 6-core 28G內存配置,跑FCPX,小彩輪還是不時轉一下,看活動監視器,已使用內存能達到22G左右,過一段時間重啟下程序,操作速度才感覺有提升,難道蘋果就是要把內存加滿?


扯什麼都沒用,8g內存卡死,煩死了,

交給系統管理自己不用管,卡死了還不用管。。


PC 和 Mac 其實都是這樣,把一部分內存作為磁碟緩存使用。


最近發現Macbook pro在看優酷超清視頻的時候會漸漸地把8g內存全部吃光,然後畫面就一幀一幀的,卡出翔。所以樓上一些人的見解我不敢苟同。用Purge命令的時候會提示:operation not permitted。無解。


實在是非常可怕…precision 5510黑蘋果32G內存,五天沒關機


2013 late RMBP 頂配,目前系統版本 sierra 10.12。信息 佔用虛擬內存 4.28G。快速滾動信息左側的列表,(幾百個聯繫人,大多數是陌生聯繫人發的博彩廣告且只有一條,少數聯繫人發的信息總沒超過100條)cpu佔用百分百,溫度飆升,溫度從57攝氏度上升到到75,滾動過程十分卡。其它應用均有類似情況。病情從yosemite開始出現,每次系統升級都會更嚴重。


Mac的緩存機制類似於Android又有點不同,原則是盡量填滿,這樣能加快運行速度。你不需要操心這些的,除非你能證明由於內存佔用大,系統運行顯著變慢。

我買了8G內存為什麼只用4G?這難道不是浪費嗎?

別把Windows的使用習慣帶到Mac上面來。


這個怎麼解釋 內存不足,然後一點準備關閉一些應用,電腦就卡機了,無法操作,只能強制關機。。。。。。。

15年 MBP 13" 8G內存


macos serria 10.12.1 ,普通用戶表示不要用chrome就行了,內存大戶,除非你對chrome開發調試很依賴,8G內存對於開發者真的有點不夠用,現在很多軟體都是web app形式,所以軟體就是一個簡易瀏覽器,都會佔用大量的內存,cpu基本性能過剩,配置的時候提升內存效果更好。


誰能幫我解答一下,只開了一個pdf,chrome,utorrent,而且utorrent的上傳下載都限制在3M之內了,內存佔用量還是高達99%?Win10,平時總是會這樣,關鍵是還會卡慢。關鍵16G內存都被吃了,我很不解。


不解釋。我剛買就加了,一般開機吃掉4g,兩天8g吃光。 平時懶得重啟的話,把flash進程關掉能放出不少內存。 蘋果是有多少內存盡量吃。 另外mac看高清很不給力。。。。。不知道同樣的pc效果如何,沒試過。


身為一個初生程序猿,我表示曾經寫過一個程序,分塊複製文件的,一開始不手動釋放內存,指針nil之後ARC也不回收,然後複製了一個大文件,程序結束之後,內存佔用比先前瞬間降下來……然而我並沒有覺得變快或變慢……

或許因為我基本就是chrome,編輯器,預覽,evernote,qq和網易音樂,偶爾xcode前台常開,所以硬碟讀寫少,所以不慢,還是因為是SSD?

PS。我是air 13版的


跑題一問:

請問這是中病毒了么?


[Q]題主用的是什麼內存監控軟體啊,好像在自帶的活動件監視器里沒有這種顯示


"purge" is your friend


有一點好像沒人說。當代的mac用固態硬碟。swap太多容易傷。所以盡量不用虛擬內存。


推薦閱讀:

中國的惡意軟體 WireLurker 是什麼東西?
為什麼Windows不內置Perl,Python等編程語言環境?
為什麼 Chrome、Firefox 等最受歡迎的瀏覽器沒有進入 Mac App Store?
為什麼微軟的visual studio code不是來自identified developers?
itunes 無法備份 iphone已斷開鏈接?

TAG:macOS | 內存管理 |