Disks provisioned for more IOPS than the VM can use
A fast disk on a machine too small to use the speed
Why it happens
Azure caps disk speed by the size of the machine it is attached to. Anything above that cap is paid for and unreachable.
A Premium disk is provisioned for throughput the attached VM size physically cannot deliver. You pay for the tier and Azure caps you at the machine's limit.
Paste this into Resource Graph Explorer in the Azure portal.
resources
| where type =~ 'microsoft.compute/disks'
// Scope below matches CloudFinOpsPro policy DEFAULTS: exclusions.protectTag, environment.tagKeys,
// environment.allowedTagValues, and allowUntagged false so an untagged resource counts as production.
// If your policy.yaml differs, edit the three lines below or this will disagree with your own agent.
| where tolower(tostring(coalesce(tags['cfop:protect'], ''))) !in ('true', 'yes', '1')
| extend cfopEnv = tolower(trim(' ', tostring(coalesce(tags['Environment'], tags['environment'], tags['env'], ''))))
| where cfopEnv in ('dev', 'development', 'test', 'qa', 'sandbox', 'nonprod', 'non-prod', 'staging')
| where sku.name has 'Premium'
| where isnotempty(managedBy)
| project disk = name, resourceGroup,
sku = tostring(sku.name),
sizeGb = toint(properties.diskSizeGB),
attachedTo = split(tostring(managedBy), '/')[-1]managedBy is a top-level Resource Graph column, not a field inside properties, which is the same distinction sku.name relies on one line above. Compare each disk tier against the uncached IOPS limit for the VM size it is attached to.
Applies to microsoft.compute/disksWhat the agent does about it
A Premium disk provisioned for IOPS the attached VM size cannot use, so the customer pays for throughput they physically cannot reach.
It will not fix this one
It reports this and takes no action. A check only earns the right to change something once the action behind it can re-read live state before it fires and knows the way back.
Related checks
Premium SSD paying to burst and never bursting
A Premium SSD with on-demand bursting switched on that has not burst once in the window, so the flat monthly enablement fee is buying a capability the workload never reaches for.
Premium disk on a VM that has been off all window
A Premium SSD attached to a virtual machine that has been deallocated for the whole window, so it bills for performance nothing is using.
Premium SSD v1 disk that would be cheaper on v2
A Premium SSD v1 disk where a Premium SSD v2 of the same performance costs less.