Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCSI driver memory leak #988

Closed
elderlabs opened this issue Sep 26, 2023 · 2 comments
Closed

SCSI driver memory leak #988

elderlabs opened this issue Sep 26, 2023 · 2 comments
Assignees

Comments

@elderlabs
Copy link

Describe the bug
I've obtained drivers from the FedoraPeople virtio group, as described in Proxmox's documentation. What I've found is that in all version above virtio-win-0.1.185 (v62.82.104.18500), the VirtIO SCSI Controller driver (viostor) appears to have some sort of memory leak, as far as I've been able to trace. Using the version ending in 18500, my VM idles around 3GB memory usage and does not spike. Using any newer available version (v100.83.104.18700 - v100.93.104.24000), memory usage at idle is 5GB, spiking at least as high as 8-10GB, though if I recall in testing, I've seen it spike upwards of 15GB.

To Reproduce
Steps to reproduce the behaviour:

  • install Windows 10, any build between 1909-22H2 [I'm running Enterprise, though I've seen it in Pro as well]
  • install the appropriate virtio drivers from the fedora people archive [I'm running the network, ballon, and storage drivers, as well as QEMU guest]
  • observe memory usage with task manager, or any appropriate memory usage tool, such as RAMMap.
  • for extra confusion, install the vioserial driver (of any versions listed here) and reboot until your memory usage inside the VM is all available memory.

Expected behavior

  • memory usage should remain similar to its usage under driver version v62.82.104.18500

Host:

  • Disto: Proxmox 8.0.4 [Debian 12]
  • Kernel: Linux 6.2.16-14-pve #1 SMP PREEMPT_DYNAMIC PMX 6.2.16-14 (2023-09-19T08:17Z)
  • QEMU version: QEMU emulator version 8.0.2 (pve-qemu-kvm_8.0.2-6)
  • QEMU command line: ???
  • QEMU server: qemu-server 8.0.7
  • libvirt version: ???
  • libvirt XML file: ???
  • all proxmox version bits: https://pastebin.com/raw/xN0cAPar

VM:

  • Windows version: Windows 10 Enterprise 22H2 [19045.2728]
  • Which driver has a problem: viostor (and possibly vioserial)
  • Driver version: 100.83.104.18700+

Additional context
Oddly, I've seen strange memory usage of nearly all 16GB assigned to the VM when the vioserial driver is installed. I'm uncertain whether this is related to the issue, though I am certain there's a leak in the SCSI driver, given it's necessary for VM functionality -- whereas the serial driver shouldn't be from what I've read.

Additional info available upon request.

@vrozenfe
Copy link
Collaborator

@elderlabs

Thank you for reporting the issue.
Can you please tell what kind of tools did you use to discovery the memory leakage in viostor driver?
Is it related to the storage read/write activity or the memory leakage happens all the time?
Can you please confirm that the problem can be reproduced with v100.83.104.18700 but not with v62.82.104.18500? I'm asking you because there were no changes in viostor code between builds 185 and 187.

Best regards,
Vadim.

@YanVugenfirer
Copy link
Collaborator

Closing as there is no response on the request for more info

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants