Kvm-Virtualization
qemu 程序記憶體使用量大於客戶記憶體使用量
我有一台具有 24 GB RAM 的物理機,它使用 libvirt-qemu 託管一些虛擬機。
在創建虛擬機時,我分配了很多記憶體,沒有交換,這樣分配的記憶體總量可以大於主機上的物理記憶體,交換是在主機級別全域管理的。我在網際網路上找到了這個建議,這對我來說很有意義。
我最近發現我們有記憶體問題,在給機器添加物理記憶體之前,我
htop
在主機和來賓中啟動,有些地方我不太明白。客人
客人 1
- 總計:16G
- 使用:2.5G
- 二手+記憶體:13G
客人 2
- 總計:16G
- 使用:1.8G
- 二手+記憶體:3.6G
客人 3
- 總計:10G
- 使用:0.5G
- 已用+記憶體:1G
…(忽略一些較小的客人)
主持人
- 總計:23.5G
- 使用:23.2G
- 二手+記憶體:23.5G
- 交換總量:18.6G
- 使用:12.5G
主機上的程序列表(我只按數字順序複製了來賓 1、2 和 3):
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 2212 libvirt-q 20 0 21.3G 9.6G 3476 S 118. 41.0 1867h qemu-system-x86_64 -enable-kvm -name guest=guest_1 ... 2391 libvirt-q 20 0 21.2G 2455M 1020 S 4.0 10.2 56h49:10 qemu-system-x86_64 -enable-kvm -name guest=guest_2 ... 40694 libvirt-q 20 0 14.7G 7545M 1668 S 1.3 31.4 94h35:35 qemu-system-x86_64 -enable-kvm -name guest=guest_3 ... ...
我想了解的是為什麼來賓 1 目前使用2.5G但相應的 qemu 程序在主機上使用9.6G物理 RAM。
如果這很重要,所有機器都是 Debian。主持人是 debian Stratch,客人是 Stretch 和 Jessie。
我想了解的是為什麼來賓 1 目前使用 2.5G 但相應的 qemu 程序在主機上使用 9.6G 物理 RAM。
根據您在上面發布的數據,您的客人 1 正在使用主機分配給它的 13G 記憶體(在程序分配和記憶體分配之間分配)。您的主機僅顯示 9.6 G 駐留,因此我認為其中一些 13GB 已被推出以進行交換。