Cloudledger learning center

Rightsize Azure virtual machines using utilization data

Assess Azure VM CPU, memory, storage and network demand, compare compatible sizes, and validate performance and savings after a resize.

By Cloudledger · Updated

Define the workload requirement first

A smaller VM is useful only if it still meets the application’s requirements. Record response-time targets, batch deadlines, concurrency, availability and growth expectations. Identify the workload owner and planned maintenance window. Development environments with predictable working hours may benefit more from scheduling than from changing size.

Collect more than average CPU

Review a representative period that includes business peaks and scheduled jobs. Examine peak and percentile CPU demand, memory pressure where guest telemetry is configured, disk IOPS and throughput, network throughput and application latency. Missing memory data is unknown, not evidence of low memory demand. An average of 10% CPU can hide brief periods that are essential to meeting a processing deadline.

Check the limits of the candidate size

Compare vCPU and memory capacity together with disk-count limits, storage throughput, network limits, architecture and supported features. Burstable sizes need a separate review of their credit behavior. Confirm the candidate is available in the region and compatible with the VM’s configuration. Azure Advisor recommendations can identify candidates, but they do not replace workload-specific testing.

  1. Document the current VM size and observed workload peaks.
  2. Choose a candidate with enough capacity and agreed headroom.
  3. Check attached disks, temporary storage usage and required networking features.
  4. Confirm resize and restart requirements before scheduling the change.

Estimate the billing effect on the right basis

Compare the applicable rates and expected running hours, then include operating-system licensing and any related costs. A public retail rate may differ from the rate in your agreement. Reservations or savings plans can change the realized benefit: reducing one workload’s demand may leave commitment unused unless other eligible usage consumes it. Do not report the full retail-rate difference as guaranteed savings.

Test, resize and watch the application

Test with representative load where possible. Some resize operations require a restart or deallocation, and temporary-disk data may not survive relevant operations. Follow the current guidance for the operating system and VM configuration. After resizing, compare error rates, response time, memory pressure, CPU and I/O behavior with the baseline, and retain a documented rollback option.

Verify savings after the observation window

Illustrative example: a workload running 200 hours per month moves from an applicable compute rate of ₹20 to ₹14 per hour. The simple compute-rate difference is ₹1,200 per month, before commitment effects and other charges. Verify both the expected running hours and actual billing after the change. Cloudledger’s Compute Intelligence view can support utilization review, while Cost Explorer helps check the resulting cost trend.

Microsoft documentation

Related guides