[軟體] swap的啟動條件?

作者: GooglePlay (谷哥不累)   2024-07-18 09:24:54
因為打算趁教育價購入m2 mac mini
趴文發現大家對於記憶體大小多有爭論
其中大多會討論到記憶體太小會導致swap機制啟動
不過我目前的iMac記憶體是插滿64GB
平時網頁程式開到極限最多也只會吃到40GB左右
等於還有大概20GB的餘裕
但我發現即便是在記憶體很有餘裕的狀況下
swap仍然還是被觸發
所以是不是其實swap啟不啟動跟記憶體大小沒有這麼大的關聯?
還是除了記憶體之外有什麼特定的條件會觸發?
謝謝大家
作者: chchwy (mat)   2024-07-18 09:49:00
swap一定會用 只是用多用少的差別RAM小 Swap就會用得比較兇
作者: serenemind (沉)   2024-07-18 09:57:00
為什麼 RAM 夠 swap 還一定會用?不合理
作者: rickieyang (Rickie Yang)   2024-07-18 10:06:00
樓上,swap 不只是 Ram 不夠 swap out 那麼簡單
作者: gary8442 (起秋風)   2024-07-18 11:04:00
https://i.imgur.com/i6Wi00h.jpegtotal 24G ram用到21以上就有機率開始swap
作者: serenemind (沉)   2024-07-18 11:28:00
你給的圖 swap = 0,完全沒有提供證明@rickieyang,所以可以舉個例子嗎?
作者: woodman (武德曼)   2024-07-18 11:40:00
只要是使用統一記憶體架構都會。
作者: jhjhs33504 ( )   2024-07-18 12:17:00
https://www.bilibili.com/read/cv10125678/查不太到現在後續是怎樣?還需要修正嗎?因為一但開始佔用swap啟動VM執行各項程式就會慢非常多
作者: hn9480412 (ilinker)   2024-07-18 13:27:00
你這問題就像windows就算RAM足夠也會使用pagefile一樣
作者: jhjhs33504 ( )   2024-07-18 13:32:00
不然就買大RAM機種開ramdisk掛載swap避開預先佔用機制之前在windows上用這招有效如果GC得當可以不用重開機
作者: NintendoGC (Goston)   2024-07-18 13:54:00
64GB M1 Max 用到現在兩年多,只有出現一次吃到 Swap的情況... 其餘時間皆為 0
作者: jhjhs33504 ( )   2024-07-18 14:57:00
看來只能workaround沒有蘋果第一手支援比較想問swap能不能在RAM有閒置的時候釋放?有什麼比較妥善的機制嗎?
作者: serenemind (沉)   2024-07-18 15:30:00
有可能並不是吃不到 20GB就觸發,而是曾經用到 超過64GB,只是一個 peak,之後又降下來的,但 swap 一旦啟動,即使 RAM 的使用量從64GB降下來也不會歸零你可以重開機後打開活動監視器,看一下 RAM 的變化是不是曾經衝高過https://i.imgur.com/F7Z5lij.jpg左邊有「記憶體壓力」可以看過去一段時間的變化曲線不過你的系統核心記憶體用量是我的2.5倍,還蠻大的
作者: marquelin (RainieLove)   2024-07-18 17:08:00
不用在意
作者: cgalen1994 (galen)   2024-07-18 22:13:00
記憶體管理機制非常複雜,是一群聰明的人的研究成果,你想研究自己去找英文資料吧
作者: dannis89514 (LBJ23)   2024-07-18 23:25:00
並不是只有RAM滿了才會swap out,這問題除了跟memorymanagement的置換策略有關,也跟virtual memory有關,如果有興趣可以去參考作業系統的原文教科書
作者: vuncent (萌~)   2024-07-19 23:36:00
把研究的精力拿去買保固就好
作者: whatzup1124 (我是幹嘛)   2024-07-20 09:41:00
SSD是要怎樣操才會磨損啦
作者: exojin (exojin)   2024-07-20 10:13:00
能換SSD會更好,使用壽命會更長。
作者: a85139138 (Carlos)   2024-07-20 12:35:00
不懂就問我有發現macos不管ram再大都會用swap但是我用linux,64gb的ram,system monitor看起來是沒有用swap兩個OS的swap邏輯是不是不一樣
作者: exojin (exojin)   2024-07-20 12:53:00
正確,這就是統一記憶體的bug,但蘋果不會跟你講。
作者: s85409 (Andylau945)   2024-07-20 21:22:00
認真請教一下swap觸發會怎樣嗎?我mba m1,8G用了4年,天天swap,查了一下SSD讀寫次數,才耗損壽命5%而已我感覺我SSD掛掉之前,這台MBA會先掛或是被我汰換
作者: rickieyang (Rickie Yang)   2024-07-20 21:26:00
Swap 機制也要扯到 UMA,某樓真的是不遺餘力呀!
作者: serenemind (沉)   2024-07-21 07:42:00
之前都沒注意,現在才發現 SSD 已經耗損 60% 了,希望還來的及
作者: TheWhack (我是德華)   2024-07-21 14:23:00
以前狂推猛推8g ram夠用的那些人 現在都消失到哪去了?
作者: KINGWAP (阿姆斯撞)   2024-07-21 19:42:00
可以試試看,macOS 15.0https://imgur.com/a/Xi68JTD升級後持續開機了五天沒有任何Swap
作者: Aaso (每度あり)   2024-07-22 04:25:00
192GB不會用到swap
作者: xoy (XerXes)   2024-07-22 08:53:00
有程式會強制使用SWAP,這是原因之一Linux或Windows關掉SWAP也可能讓一些強制會用的程式出問題
作者: serenemind (沉)   2024-07-22 13:20:00
記憶體宣告還可以指定要真實記憶體還是 swap 喔?
作者: xoy (XerXes)   2024-07-22 14:41:00
要不要把Swap關掉是老話題了,Linux或Java都有方法盡量不去用RAM,通常RAM再多也不建議把Swap關掉https://tinyurl.com/3f3js2yt

Links booklink

Contact Us: admin [ a t ] ucptt.com