Tools / Monitoring and Observability Interview Questions
What is the USE method and when should you apply it?
The USE method was defined by Brendan Gregg as a systematic way to analyze performance problems in any system resource. USE stands for:
U — Utilization: The percentage of time the resource is busy. A CPU at 90% utilization is heavily loaded. Disk at 100% utilization (100% of I/O time spent servicing requests) is a bottleneck.
S — Saturation: The degree to which the resource has extra work it cannot service yet — the queue or backlog. A CPU can be at 80% utilization but have a run queue of 20 waiting threads — that is saturation. Saturation predicts whether more requests will be delayed.
E — Errors: The count of error events. These can be hard errors (disk read failures) or soft errors (corrected ECC memory errors). Errors at the resource level often precede visible application-level failures.
The USE method applies to every physical and virtual resource: CPUs, memory, disks, network interfaces, storage controllers, buses. You iterate through each resource and check U, S, E. The first resource where any of these is abnormal is likely your bottleneck.
Apply USE for infrastructure-level diagnosis — especially when investigating capacity issues, noisy-neighbor problems in shared cloud environments, or hardware degradation. For request-driven microservice diagnosis, RED is more appropriate. Together, USE + RED give you both the resource and the service-level view.
More Related questions...