turbostat (part of the kernel tools) reports what each CPU core is actually doing: average and busy frequency, time in each idle state, package temperature, and power draw. It is the way to check whether cores really reach turbo speeds, or whether power/thermal limits are throttling them.
sudo dnf install kernel-tools # RHEL family. Debian/Ubuntu: linux-tools-generic (or linux-cpupower)
sudo turbostat --quiet --interval 2
sudo turbostat --show Core,CPU,Avg_MHz,Busy%,Bzy_MHz,CoreTmp,PkgWatt --interval 2
sudo turbostat sleep 10 # collect one summary over 10 seconds
Key columns: Avg_MHz (average including idle time), Busy% (time not idle), Bzy_MHz (average frequency while busy), CPU%c6 etc. (deep idle residency), CoreTmp/PkgTmp (temperature), PkgWatt (power). It reads model-specific registers, so it needs root and the msr module (sudo modprobe msr). See rdmsr. Run a load such as stress-ng --cpu 0 or the top while true trick alongside to see the frequency under load.