[pve-devel] [PATCH qemu-server] api: vmlist: add plugged cpu count to vmlist table

Daniel Herzig d.herzig at proxmox.com
Mon Jan 13 10:45:35 CET 2025


I just tested this patch and think it gives very valuable information.

One thing I noticed, more by chance than intentional -- if the host has
a lower cpu-count than the count configured for the VM, the stats will
not be updated. E.g. my pve-host only has 2 cores available and if I
configure 4 cores for the VM, `qm list` will still show 2 cores,
although the VM is actually configured in an unbootable state.

Do you think it's possible to render something like '$NUMBER:
too_many_for_this_host' (or something similar) in this edge case?


Daniel Kral <d.kral at proxmox.com> writes:

> Includes the maximum amount of cpu cores in the vmlist as it
> semantically fits in with the other properties. This allows for a more
> comfortable view of a node's VM configured CPU core counts in general
> and by users of "pvereport" without calculating each core count manually
> with the respective VM's configuration files.
>
> Suggested-by: Hannes Dürr <h.duerr at proxmox.com>
> Signed-off-by: Daniel Kral <d.kral at proxmox.com>
> ---
>  PVE/CLI/qm.pm | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/PVE/CLI/qm.pm b/PVE/CLI/qm.pm
> index 4214a7ca..389a97d6 100755
> --- a/PVE/CLI/qm.pm
> +++ b/PVE/CLI/qm.pm
> @@ -1124,12 +1124,13 @@ our $cmddef = {
>  	my $vmlist = shift;
>  	exit 0 if (!scalar(@$vmlist));
>  
> -	printf "%10s %-20s %-10s %-10s %12s %-10s\n",
> -	qw(VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID);
> +	printf "%10s %-20s %-10s %-5s %10s %12s %-10s\n",
> +	qw(VMID NAME STATUS CORES MEM(MB) BOOTDISK(GB) PID);
>  
>  	foreach my $rec (sort { $a->{vmid} <=> $b->{vmid} } @$vmlist) {
> -	    printf "%10s %-20s %-10s %-10s %12.2f %-10s\n", $rec->{vmid}, $rec->{name},
> +	    printf "%10s %-20s %-10s %-5s %10s %12.2f %-10s\n", $rec->{vmid}, $rec->{name},
>  	        $rec->{qmpstatus} || $rec->{status},
> +		$rec->{cpus} || 0,
>  	        ($rec->{maxmem} || 0)/(1024*1024),
>  	        ($rec->{maxdisk} || 0)/(1024*1024*1024),
>  	        $rec->{pid} || 0;




More information about the pve-devel mailing list