看板 Linux 關於我們 聯絡資訊
我也來分享一下我的經驗好了。 首先是 swap 分兩種,分成分割區(swap partition)與檔案(swap file)。 (Win 就是用 swap file 方式,稱為 pagefile) 兩者據說效能上近似,而swap file 顯然靈活性高一些。如同我之前推文說的: 你可以透過 swapspace 這類軟體自動產生 swap file,並加入系統。 (可設定每個 swap file 大小) 不過使用 swap file 要注意檔案系統是否支援,如 Btrfs 就不支援。 關於大小方面。確實看用途以及使用 swap 方式。 使用 swap 方式: 1. 記憶體固定比例放入 swap 。 就是說即使記憶體未佔滿也會存入一定量的資料到 swap 。 Win 就是這樣。 2. 記憶體全滿後才放入 swap 。 以上設定可由 vm.swappiness 改變。(請google) 用途: 這裡就不討論 server 了。以家用來說 1. 你須要休眠功能,基本上 swap <= RAM ,除非 你的 swap 在休眠前已經佔用不少。 2. swap <= 2G 。 記憶體超多的今日,不用再死守 RAM x2 的定律了,除非你的 RAM 超小 (以及須要休眠)。 另外關於休眠: 1. 休眠時存入的資料經過壓縮,因此所須的 swap 會小於 RAM 中的資料。 以我自己的某次休眠來說,壓縮後約為 80% (當然這會和內容有關)。 2. swap file 要休眠也是可以的,方法之一是透過 uswsusp (應該有不少新方法, 如 systemd 等等,但我沒研究過),去定位 swap file 在磁碟中的位置,並 在開機時傳入參數。 不過不知能否結合 swapspace 這種動態增加 swap file 的方式使用。 然後是 swap 可以不要嗎? 我覺得保險一點還是放吧!至少用 swapspace 監控一下。 我有朋友不在意程式因為記憶體不足搞自閉,我是沒辦法啦! 附一下現在我家用電腦的情況: $ free -m total used free shared buffers cached Mem: 12042 11184 857 0 0 686 -/+ buffers/cache: 10498 1543 Swap: 21319 11712 9607 $ uptime 00:19:23 up 140 days, 15:12, 5 users, load average: 0.74, 0.71, 0.69 啊對,zram 有點有趣,自己研究合不合用吧! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.188.151 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1500481355.A.2F7.html
cs8425: 有swap比較好 就算是zram也行 07/20 00:45
cs8425: 還有zram不要開到所有CPU 動到swap會整個卡住= = 07/20 00:46
johnny9667: 我比較好奇 如果swap用光了會怎樣? 07/20 02:24
johnny9667: 程式就當掉嗎? 07/20 04:08
ddtsatan: 會卡住,看你的耐心要不要等ㄧ段時間讓他跑 07/20 08:07
Bencrie: 我想 swap 用光之前你的耐性會先被磨光 XD 07/20 12:23
Bencrie: 心 07/20 12:23
kenwufederer: 會卡很慘,SSD也 07/20 20:07
kenwufederer: 一樣 07/20 20:07