Linux、SSD 和交換
本文建議不要在 SSD 驅動器上創建交換空間以減少其磨損。另一方面,這裡建議交換空間對性能有積極影響。
放棄掉期會是更好的選擇嗎?或者也許一些swappiness調整可以讓我們吃蛋糕。該設備是華碩 T200TA,唯一確定的驅動器是 32GB eMMC(硬碟是可拆卸的)並且只有 2GB RAM。
如果性能良好——您不必在應用程序之間切換時等待,磁碟抖動且活動 LED 常亮——那麼也不必擔心太多磨損。
您可以在安裝時為交換分配 2G 空間,然後將分區/交換大小調低,例如使用 GNOME 磁碟。我個人會嘗試 512M 或 1G 開始。我假設您沒有考慮休眠(通常需要 2G+ 交換)。
然後我可以看到我使用了多少交換,以及我是否遇到了記憶體不足或完全交換速度減慢的問題。我承認我不確定如何區分交換(過多的活動應用程序,由過多的交換啟用)和記憶體(沒有足夠的交換來分頁不活動的應用程序記憶體)。在這兩種情況下,您都會看到磁碟指示燈亮起並且交換非常完整。如果我能可靠地測試一個問題案例,也許
vmstat 1
可以看看交換專欄。我對 eMMC 上的 2GB 交換持謹慎態度(性能低於昂貴的 SSD)。Linux 桌面記憶體管理有一段曲折的歷史,而且交換並不是為 eMMC 設計的。
如果您使用所有這些交換,您可能會發現機器無論如何都無法使用。記憶體不足可能會更好,因為您無需重新啟動即可恢復機器。儘管它可能會殺死您想要並期望生存的程序。
我的帶有幾個應用程序的 GNOME shell 大約有 1G“已使用”(可交換)加上 1G+“記憶體”(只讀數據/程式碼,只能從文件系統重新讀取)。
如果您使用 1G 進行交換,考慮到您的 eMMC,需要多長時間才能將所有這些交換回來?(GNOME 磁碟可以為您對分區進行基準測試 :)。例如 10 秒閱讀它?然後,如果您同時交換先前的工作設置,則 eMMC 上的(較慢)寫入將花費更長的時間。對我來說聽起來不太好。
交換的一個小原因是 tmpfs。我
/run
積累了一個兆左右,我懷疑一切都需要在記憶體中。
請注意,Linux 在過去幾年的某個時候獲得了 zRAM 功能。它是一個可用於交換空間的壓縮 ramdisk,即壓縮非活動記憶體內容。它上面的 Gentoo Wiki 條目聲稱它可以實現大約 3:1 的壓縮比。
對於記憶體不夠理想的任何桌面來說,這聽起來都值得考慮(4GB 是目前大多數桌面環境的理想選擇)。微軟開始在 Windows 8 中做同樣的事情(在某些時候加上 Windows Phone,一些 Android 手機也使用 zRAM)。
zRAM 需要一些手動配置,但至少對於 Ubuntu,有一些軟體包可以自動設置它。如果您還想以較低的優先級執行正常交換(以及這是否運作良好?!),您可能需要進行一些調查。該
zram-config
軟體包可從 ubuntu 儲存庫中獲得。顯然,如果您的記憶體為 2GB 或更少,Fedora 21 將自動啟用 zRAM。