Kvm-Virtualization

qemu 程序記憶體使用量大於客戶記憶體使用量

  • February 19, 2019

我有一台具有 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 已被推出以進行交換。

引用自:https://serverfault.com/questions/954663