Sluggish performance in Win11 VM

mcdull

Member
Aug 23, 2020
65
2
13
46
I have AMD 3900X with nvidia GTX1080 passthrough to one of the VM for desktop purpose. It is not as responsive as native but it is fine.
But the kernel keep using at least 2.2GHz as minimum speed making power consumption goes up.

After using newer kernel and amd pstate scaler, it is able to set the minimum speed to 550Mhz and to use schedutil governor. With this setting, the desktop behave sluggish.
Moving windows being slow and clicking browser tab needs to wait. In comparison, it seems that another vm without gpu that I connect with RDP even more responsive.

Any hints that I can improve the situation?
 
I have AMD 3900X with nvidia GTX1080 passthrough to one of the VM for desktop purpose. It is not as responsive as native but it is fine.
But the kernel keep using at least 2.2GHz as minimum speed making power consumption goes up.

After using newer kernel and amd pstate scaler, it is able to set the minimum speed to 550Mhz and to use schedutil governor. With this setting, the desktop behave sluggish.
Moving windows being slow and clicking browser tab needs to wait. In comparison, it seems that another vm without gpu that I connect with RDP even more responsive.

Any hints that I can improve the situation?
Hi,

could you post the VM configuration qm config <VMID>, the storage config cat /etc/pve/storage.cfg as well as your pveversion pveversion -v.

Also, do you have the latest virtio drivers installed and the qemu-guest-agent activated for the VM?
 
Hi, could you post the VM configuration qm config , the storage config cat /etc/pve/storage.cfg as well as your pveversion pveversion -v. Also, do you have the latest virtio drivers installed and the qemu-guest-agent activated for the VM?



Code:
# qm config 100
agent: 1
args: -cpu 'host,+kvm_pv_unhalt,hv_vendor_id=NV43FIX,kvm=off,+svm'
bios: ovmf
boot: order=sata0;scsi2
cores: 24
cpu: host
efidisk0: win11:vm-100-disk-0,size=4M
hookscript: local:snippets/gpu.sh
hostpci0: 0000:0e:00,pcie=1,x-vga=1
hostpci1: 0000:11:00.3,pcie=1
hostpci2: 0000:11:00.4,pcie=1
hotplug: disk,network,usb
machine: pc-q35-7.2
memory: 48000
name: testwin
net1: virtio=00:1B:21:84:BB:49,bridge=vmbr0
numa: 0
ostype: win11
sata0: none,media=cdrom
scsi2: win11:vm-100-disk-1,discard=on,size=976764M,ssd=1
scsihw: virtio-scsi-pci
smbios1: uuid=5b4b9410-7957-4f13-9a4f-71fc77c6e528
sockets: 1
startup: order=1
tablet: 0
tpmstate0: win11:vm-100-disk-2,size=4M,version=v2.0
usb0: host=24ae:2013
usb1: host=1-14
usb2: host=045e:0719
usb3: host=1-5,usb3=1
usb4: host=046d:c29b
vga: none
vmgenid: 3449b028-7c29-44a2-87be-3c500561c840

Code:
cat /etc/pve/storage.cfg
dir: local
        path /var/lib/vz
        content vztmpl,iso,backup

lvmthin: local-lvm
        thinpool data
        vgname pve
        content images,rootdir
        nodes proxmox

nfs: vmbackup
        export /volume1/FileServer/pvevm
        path /mnt/pve/vmbackup
        server 192.168.100.253
        content iso,vztmpl,backup,rootdir,snippets,images
        options soft,vers=4.1
        prune-backups keep-last=5

lvmthin: win11   <---- this is the only storage used in the Windows 11, which is a nvme 1TB ssd
        thinpool win11
        vgname win11
        content images,rootdir
        nodes proxmox

Code:
pveversion -v
proxmox-ve: 7.3-1 (running kernel: 6.1.10-1-pve)
pve-manager: 7.3-6 (running version: 7.3-6/723bb6ec)
pve-kernel-6.1: 7.3-4
pve-kernel-helper: 7.3-4
pve-kernel-5.15: 7.3-2
pve-kernel-5.13: 7.1-9
pve-kernel-5.11: 7.0-10
pve-kernel-5.4: 6.4-4
pve-kernel-6.1.10-1-pve: 6.1.10-1
pve-kernel-5.15.85-1-pve: 5.15.85-1
pve-kernel-5.15.83-1-pve: 5.15.83-1
pve-kernel-5.15.74-1-pve: 5.15.74-1
pve-kernel-5.15.64-1-pve: 5.15.64-1
pve-kernel-5.15.39-1-pve: 5.15.39-1
pve-kernel-5.15.5-1-pve: 5.15.5-1
pve-kernel-5.13.19-6-pve: 5.13.19-15
pve-kernel-5.11.22-7-pve: 5.11.22-12
pve-kernel-5.4.124-1-pve: 5.4.124-1
pve-kernel-5.4.34-1-pve: 5.4.34-2
ceph-fuse: 14.2.21-1
corosync: 3.1.7-pve1
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown: residual config
ifupdown2: 3.1.0-1+pmx3
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.24-pve2
libproxmox-acme-perl: 1.4.3
libproxmox-backup-qemu0: 1.3.1-1
libpve-access-control: 7.3-1
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.3-2
libpve-guest-common-perl: 4.2-3
libpve-http-server-perl: 4.1-5
libpve-storage-perl: 7.3-2
libqb0: 1.0.5-1
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 5.0.2-1
lxcfs: 5.0.3-pve1
novnc-pve: 1.3.0-3
proxmox-backup-client: 2.3.3-1
proxmox-backup-file-restore: 2.3.3-1
proxmox-mail-forward: 0.1.1-1
proxmox-mini-journalreader: 1.3-1
proxmox-offline-mirror-helper: 0.5.1-1
proxmox-widget-toolkit: 3.5.5
pve-cluster: 7.3-2
pve-container: 4.4-2
pve-docs: 7.3-1
pve-edk2-firmware: 3.20220526-1
pve-firewall: 4.2-7
pve-firmware: 3.6-3
pve-ha-manager: 3.5.1
pve-i18n: 2.8-2
pve-qemu-kvm: 7.2.0-5
pve-xtermjs: 4.16.0-1
qemu-server: 7.3-3
smartmontools: 7.2-pve3
spiceterm: 3.2-2
swtpm: 0.8.0~bpo11+2
vncterm: 1.7-1
zfsutils-linux: 2.1.9-pve1


latest virtio drivers installed and the qemu-guest-agent activated for the VM? YES
 
Okay,
your configurations look fine. Do you have the linux-cpupower package installed? If so, please post the output of cpupower frequency-info and check if the frequency scaling is working when, e.g. there is some load in the VM.
 
Code:
cpupower frequency-info
analyzing CPU 0:
  driver: amd-pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 20.0 us
  hardware limits: 550 MHz - 4.67 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 550 MHz and 4.67 GHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 560 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
    Boost States: 0
    Total States: 3
    Pstate-P0:  3800MHz
    Pstate-P1:  2800MHz
    Pstate-P2:  2200MHz

Yes, the frequency-info looks fine too.
 
Yes but does it scale? If the VM is running on a 560MHz CPU no wonder its being sluggish.
 
Yes but does it scale? If the VM is running on a 560MHz CPU no wonder its being sluggish.
Yes. It scales. The sluggish should be caused by the slow pick up of cpu load. Any chance to reduce the transition latency?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!