Memory
為什麼 QEMU 不能使用 linux memory buffers memory?
我有一個沒有交換的系統和 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 時會自動釋放。 )