kvm-guest-drivers-windows icon indicating copy to clipboard operation
kvm-guest-drivers-windows copied to clipboard

memory leak & can't access to disks during installation & boot (virtio disk)

Open unknown10777 opened this issue 2 years ago • 14 comments

Describe the bug A clear and concise description of what the bug is. Before install the driver: Mem 1.3G of 4.0G, can't use any virtio things. After: 4.0G of 4.0G, still can't use any virtio things.

To Reproduce new vm add sata disk add sata installation disc boot install win2k22 reboot into windows & remove win disc Install driver on Win2k22 reboot done

Expected behavior It shouldn't take any memory and all virtio device should work

Host:

  • Disto: kali
  • 5.16.0-kali7-amd64
  • 1:7.0+dfsg-7+b1 amd64
  • QEMU command line
  • libvirt version gir1.2-libvirt-glib-1.0/kali-rolling,now 4.0.0-2 amd64 [已安装,自动] libvirt-clients/kali-rolling,now 8.5.0-1 amd64 [已安装] libvirt-daemon-config-network/kali-rolling,now 8.5.0-1 all [已安装,自动] libvirt-daemon-config-nwfilter/kali-rolling,now 8.5.0-1 all [已安装,自动] libvirt-daemon-driver-lxc/kali-rolling,now 8.5.0-1 amd64 [已安装,自动] libvirt-daemon-driver-qemu/kali-rolling,now 8.5.0-1 amd64 [已安装,自动] libvirt-daemon-driver-vbox/kali-rolling,now 8.5.0-1 amd64 [已安装,自动] libvirt-daemon-driver-xen/kali-rolling,now 8.5.0-1 amd64 [已安装,自动] libvirt-daemon-system-systemd/kali-rolling,now 8.5.0-1 all [已安装,自动] libvirt-daemon-system/kali-rolling,now 8.5.0-1 amd64 [已安装,自动] libvirt-daemon/kali-rolling,now 8.5.0-1 amd64 [已安装,自动] libvirt-glib-1.0-0/kali-rolling,now 4.0.0-2 amd64 [已安装,自动] libvirt-glib-1.0-data/kali-rolling,now 4.0.0-2 all [已安装,自动] libvirt0/kali-rolling,now 8.5.0-1 amd64 [已安装,自动] python3-libvirt/kali-rolling,now 8.4.0-0.1+b1 amd64 [已安装]
  • libvirt XML file see document below

VM:

Additional context Add any other context about the problem here.

unknown10777 avatar Sep 06 '22 17:09 unknown10777

I apologize for my bad network. It somehow opened two duplicated issues.

unknown10777 avatar Sep 06 '22 17:09 unknown10777

Only 2 VirtIO devices present in XML:

<video>
  <model type="virtio" heads="1" primary="yes">
    <acceleration accel3d="yes"/>
  </model>
  <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>
<memballoon model="virtio">
  <address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</memballoon

kostyanf14 avatar Sep 06 '22 17:09 kostyanf14

This is my bootable configuration. When switching disks or network cards to virtio, I can't connect to it.

unknown10777 avatar Sep 07 '22 04:09 unknown10777

oh and I thought my kernel cmdline may relevant with this.

#cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.16.0-kali7-amd64 root=UUID=fac5698c-5f67-457a-a0c4-35369e6e3623 ro quiet intel_iommu=on vfio-pci.ids=15b7:5019,8086:5a85 pci=noari splash
#dmesg | grep -i pass
[    0.034651] Unknown kernel command line parameters "splash BOOT_IMAGE=/boot/vmlinuz-5.16.0-kali7-amd64", will be passed to user space.
[    0.165932] Speculative Store Bypass: Vulnerable
[    1.643600] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    4.932195] systemd[1]: Started Forward Password Requests to Wall Directory Watch.

unknown10777 avatar Sep 07 '22 04:09 unknown10777

I tried reinstalling driver. Found the problem is caused by VirtIO balloon driver on PCI4 device0 function0. It immedant caused memory leak.

unknown10777 avatar Sep 07 '22 04:09 unknown10777

I tried reinstalling driver. Found the problem is caused by VirtIO balloon driver on PCI4 device0 function0. It immedant caused memory leak.

Hi, Could you please describe the reproduce steps more clearly? From this issue title, this issue happened during os installation, but from the steps in comment 0, it saids "install driver on win2k22" ,is the OS installed succecssfully? Thanks.

xiagao avatar Sep 07 '22 06:09 xiagao

I tried reinstalling driver. Found the problem is caused by VirtIO balloon driver on PCI4 device0 function0. It immedant caused memory leak.

You mean after installing balloon driver, win2k22 is hang or BSOD?

xiagao avatar Sep 07 '22 06:09 xiagao

I tried reinstalling driver. Found the problem is caused by VirtIO balloon driver on PCI4 device0 function0. It immedant caused memory leak.

You mean after installing balloon driver, win2k22 is hang or BSOD?

Yes. Its memory immedant goes to full and CPU goes to 100%. I think it's using disk space as swap to keep not to BSOD

unknown10777 avatar Sep 07 '22 06:09 unknown10777

I tried reinstalling driver. Found the problem is caused by VirtIO balloon driver on PCI4 device0 function0. It immedant caused memory leak.

Hi, Could you please describe the reproduce steps more clearly? From this issue title, this issue happened during os installation, but from the steps in comment 0, it saids "install driver on win2k22" ,is the OS installed succecssfully? Thanks.

The OS works perfectly before install the balloon driver.

unknown10777 avatar Sep 07 '22 06:09 unknown10777

@unknown10777 Thanks for your quick update, I can have a try and paste the result here later.

xiagao avatar Sep 07 '22 07:09 xiagao

I test on qemu-kvm-7.0 and virtio-win-prewhql-221,after installing balloon driver, cpu/memory looks good(see the picture).Anyway I'm installing a RHEL850 host to have a try. balloon-mem

qemu command line of balloon device. -device virtio-balloon-pci,id=balloon0,bus=pcie-root-port-3,addr=0x0

xiagao avatar Sep 07 '22 08:09 xiagao

Sorry, I don't understand why.

unknown10777 avatar Sep 07 '22 08:09 unknown10777

I can't reproduce on RHEL8.5 yet. VM: Win2k22 qemu-kvm-4.2.0-60.module+el8.5.0+14545 virtio-win-prewhql-0.1-221.iso

xiagao avatar Sep 14 '22 07:09 xiagao

I retried delete full partition table then load driver in vm,it successed.

unknown10777 avatar Oct 25 '22 18:10 unknown10777