Memory

為什麼 QEMU 不能使用 linux memory buffers memory?

  • August 7, 2016

我有一個沒有交換的系統和 16 GB 的記憶體。

據我所知,Linux 會動態分配緩衝區記憶體分配,具體取決於系統中有多少可用 RAM。

在這一刻,這是輸出free -h

             total        used        free      shared  buff/cache   available
Mem:            14G        2,2G         10G        336M        2,3G         10G
Swap:            0B          0B          0B

這意味著我將有 10 GB,加上大約 2 GB(緩衝區/記憶體),如果需要可以使用。

但是,當我執行 QEMU 時,我最多只能指定 10G 的 RAM;那是對的嗎?我能做些什麼來使這 2 GB 可用嗎?

謝謝。

我相信您可能會因為free -h輸出四捨五入的可用空間而遇到問題。嘗試在沒有的情況下檢查它-h,看看你有多少字節是免費的,並設置qemu在這個限制內使用一些東西(給自己一點空間)。

另一方面,如果您嘗試將所有可用 RAM 用於 VM,我強烈建議您啟用交換空間。進行交換比用完 RAM 並掛起要好。

我會盡可能多地留出可用空間,因為磁碟交換會佔用大量時間。

(對於將來訪問此內容的任何人:請參閱http://www.linuxatemyram.com/了解為什麼您應該能夠使用超過 10 GiB。緩衝區/記憶體區域提高了性能,但在程序需要更多 RAM 時會自動釋放。 )

引用自:https://unix.stackexchange.com/questions/301712