qemu process memory usage greater than windows guest memory usage

Host environment

  • Operating system: centos8
  • OS/kernel version: 5.10.0-60.18
  • Architecture: x86
  • qemu version: 6.2.0
  • QEMU command line:
     /usr/bin/qemu-system-x86_64 -name guest=GUS16ed8ef8-51b0-48c0-85f8-5f1e07c1c505,debug-threads=on -S -object {"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-14-GUS16ed8ef8-51b0-48c/master-key.aes"} -machine pc-i440fx-6.2,accel=kvm,usb=off,dump-guest-core=off -cpu Dhyana,vmx=off,mpx=off,spec-ctrl=off,hv-time,kvm-pv-eoi=on,hv-relaxed,hv-vapic,hv-spinlocks=0x1fff -m size=134217728k,slots=64,maxmem=536870912k -overcommit mem-lock=off -smp 20,maxcpus=64,sockets=2,dies=1,cores=32,threads=1 -object {"qom-type":"memory-backend-ram","id":"ram-node0","size":68719476736} -numa node,nodeid=0,cpus=0-9,memdev=ram-node0 -object {"qom-type":"memory-backend-ram","id":"ram-node1","size":68719476736} -numa node,nodeid=1,cpus=10-19,memdev=ram-node1 -uuid 16ed8ef8-51b0-48c0-85f8-5f1e07c1c505 -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=36,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device pci-bridge,chassis_nr=1,id=pci.1,bus=pci.0,addr=0x3 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.0,addr=0x4 -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device nec-usb-xhci,id=usb1,bus=pci.0,addr=0xb -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x7 -device virtio-scsi-pci,id=scsi1,bus=pci.0,addr=0x8 -device ahci,id=sata0,bus=pci.0,addr=0x9 -device ahci,id=sata1,bus=pci.0,addr=0xa -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0xc -device ide-cd,bus=ide.1,unit=1,id=ide0-1-1,bootindex=2 -device floppy,unit=0,id=fdc0-0-0 -blockdev {"driver":"iscsi","portal":"10.30.15.14:20207","target":"iqn.2018-11.aaa.com.cn:a84d3834-d297-4011-a3d4-29999843a0faid44805539","lun":1,"transport":"tcp","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"raw","file":"libvirt-1-storage"} -device ide-hd,bus=sata0.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1,write-cache=on -netdev tap,fd=40,id=hostnet0,vhost=on,vhostfd=47 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:56:ff:ad:2d:77,bus=pci.0,addr=0x5 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev pty,id=charserial1 -device isa-serial,chardev=charserial1,id=serial1 -chardev socket,id=charchannel0,fd=48,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -chardev socket,id=charchannel1,fd=49,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=org.qemu.client_guest_tool.0 -chardev socket,id=charchannel2,fd=52,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=3,chardev=charchannel2,id=channel2,name=org.qemu.client_guest_tool.1 -chardev socket,id=charchannel3,fd=53,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=4,chardev=charchannel3,id=channel3,name=aaa_clip_board.0 -chardev socket,id=charchannel4,fd=54,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=5,chardev=charchannel4,id=channel4,name=aaa_clip_board.1 -chardev socket,id=charchannel5,fd=55,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=6,chardev=charchannel5,id=channel5,name=aaa_shared_dir.0 -chardev socket,id=charchannel6,fd=56,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=7,chardev=charchannel6,id=channel6,name=aaa_shared_dir.1 -chardev socket,id=charchannel7,fd=57,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=8,chardev=charchannel7,id=channel7,name=aaa_shared_file.0 -chardev socket,id=charchannel8,fd=58,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=9,chardev=charchannel8,id=channel8,name=aaa_shared_file.1 -chardev socket,id=charchannel9,fd=59,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=10,chardev=charchannel9,id=channel9,name=aaa_network_printer.1 -chardev socket,id=charchannel10,fd=60,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=11,chardev=charchannel10,id=channel10,name=aaa_network_printer.0 -chardev spicevmc,id=charchannel11,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=12,chardev=charchannel11,id=channel11,name=com.redhat.spice.0 -chardev spiceport,id=charchannel12,name=org.spice-space.webdav.0 -device virtserialport,bus=virtio-serial0.0,nr=13,chardev=charchannel12,id=channel12,name=org.spice-space.webdav.0 -chardev pty,id=charconsole1 -device virtconsole,chardev=charconsole1,id=console1 -device usb-tablet,id=input2,bus=usb.0,port=1 -spice port=5906,addr=::0.0.0.0,image-compression=glz,jpeg-wan-compression=always,streaming-video=filter,seamless-migration=on -device VGA,id=video0,vgamem_mb=64,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x6 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0,bus=usb1.0,port=1 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0xd -cpu Dhyana,vendor=AuthenticAMD,model_id=Hygon C86 7151 Processor series -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -device pvpanic -msg timestamp=on

Emulated/Virtualized environment

  • Operating system: windows
  • Architecture: x86

Description of problem

The Windows Guest internal memory usage is low,but is very high on host of qemu progress. But the linux guest is no such case.Is there any way to trigger the host to reclaim virtual machine memory?

Steps to reproduce

1.install a windows guest with 128GB of memory and start it.

2.When the machine is stable, the VM internal memory usage is low,but is very high on host of qemu progress.

3.on host,use "free -g" to query,the memory used is also very high

4.when migrate or dormancy,it can recovery,but I want to know is there any way to trigger the host to reclaim virtual machine memory?

host:

image

image

guest:

image

Edited by cheng qi