%20%E5%92%8C%E9%81%8E%E5%A4%9A%E7%9A%84%E5%BF%AB%E5%8F%96%20RAM.png)
我已經透過 KVM-libvirt (virt-manager) 設定了一台裝有 Windows 10 的虛擬機,但在主機端出現了奇怪的行為。我正在運行具有 24GB RAM 的 64 位元 Arch 主機,其中 12 個分配給它,另外 12 個分配給虛擬機器。
啟動虛擬機器並讓它靜置一段時間(不會太長,可能一個小時)後,我的整個主機的剩餘 RAM 就會被緩衝/快取。例如,現在我從以下地方得到這個free -m
:
total used free shared buff/cache available
Mem: 24064 13887 253 110 9923 9957
Swap: 4095 1313 2782
在啟動虛擬機之前,我運行了幾個應用程序,但它們的 RAM 不超過 2GB 左右,從那時起就沒有打開任何新的東西,只是一些正常的網頁瀏覽(實際上寫這個問題)。
現在,我已經閱讀了很多關於 Linux 快取 RAM 的內容,因為空閒 RAM 是浪費 RAM 之類的,但這導致主機上運行的幾乎所有內容都被交換。這對我來說是一個大問題,因為一切都會變得所以慢的。
據我所知,RAM 快取不應導致記憶體交換。我知道linux應該比我關於高效的記憶體利用率,例如我不應該清除交換和/或快取...但是,將所有內容都換出從而大大減慢系統速度對我來說聽起來既不聰明也不高效。
可能發生了什麼事? Linux 是否快取虛擬機磁碟訪問,這就是為什麼它總是使用我的 RAM 的全部剩餘空間? VM 安裝在磁碟映像中,我應該嘗試為其使用單獨的實體磁碟嗎?