uptime
Prints one line:
19:15:42 up 3 days, 4:12, 2 users, load average: 0.42, 0.55, 0.61
Three pieces:
The three numbers are the load average over the last 1 minute, 5 minutes, and 15 minutes. Each number is roughly the average count of processes wanting the CPU during that window.
The trick is comparing to the number of CPU cores:
A load of 4.0 on an 8-core box is 50% utilization, healthy. The same
load on a 2-core box means it's overloaded. Always compare load
against nproc:
nproc
Prints the core count in one number.
Load average tells you the machine is busy. It doesn't tell you
what's making it busy. That's what top is for, coming up next.
The three numbers uptime prints come from a file the kernel keeps
updated in real time:
cat /proc/loadavg
You'll see something like 0.42 0.55 0.61 2/312 4567 - the three
load averages, then the count of runnable/total processes, then the
last PID created. Scripts that need just the numbers (with no
parsing) read /proc/loadavg directly instead of picking values out
of the uptime line.