USE method (utilization, saturation and errors)
The USE method is a way to find performance bottlenecks by checking three things for every resource: utilization, saturation and errors. Brendan Gregg devised it. You list the resources, such as CPU, memory, disks and network, and ask the same three questions of each one, instead of staring at whatever metrics happen to be on a dashboard.
How it works
Utilization is how busy the resource is. Saturation is how much extra work is waiting because the resource is full. Errors are failed operations. For a node with 4 vCPUs:
CPU: utilization is 85% busy. Saturation is a run queue of 9 threads for 4 CPUs. Errors are rare, so check the kernel logs.
Memory: utilization is used divided by total. Saturation is swapping or paging. Errors include OOM (out of memory) kills.
Disk: utilization is the percent of time busy. Saturation is the I/O queue length. Errors are device errors.
Network: utilization is bandwidth used. Saturation is drops or retransmits. Errors are interface errors.
Why it matters in production
It gives a short checklist for an incident, so you find a full resource in minutes. It pairs with RED metrics: RED shows how a service looks to its users, and USE shows which resource is under it. Watch averages, because a 60% average over a minute can hide bursts of saturation.
See also
On the One2N blog
How we migrated 20k users from Azure to AWS with zero downtime
Comparing latency vs throughput: why high utilisation hurts reliability
Further reading
