Estimate an ICP canister's freezing reserve

A positive cycles balance can coexist with a canister that rejects work. The freezing threshold reserves enough cycles for a configured period of idle operation.

Put both measurements in days

Read the status fields for one canister at the same observation time. Seven days at an illustrative idle burn of two billion cycles per day imply a reserve near fourteen billion. A balance of sixteen billion leaves roughly two billion above that estimate. Use integer arithmetic when storing these counters.

idle_cycles_burned_per_day = 2_000_000_000
freezing_threshold = 604800 seconds
estimated reserve = 14_000_000_000 cycles

Account for a growing workload

A large new dataset can increase idle burn, and execution consumes additional cycles. Recompute after installing a larger module or changing resource allocations. The quotient of available balance and idle burn alone cannot predict how many active requests will succeed.

Sources