How to check CPU frequency or CPU speed in Linux?

You’ve probably stumbled upon the need to check your CPU’s frequency (or CPU speed as some call it). Be it just for curiosity, to check your CPU’s specifications or even to verify if your CPU …

linux check cpu frequency and speed in mhz

You’ve probably stumbled upon the need to check your CPU’s frequency (or CPU speed as some call it). Be it just for curiosity, to check your CPU’s specifications or even to verify if your CPU is boosting correctly or runs at the proper MHz depending on the scenario.

On Linux, checking your CPU’s frequency can be quite easy and requires just the right command.

So here are a couple of ways of checking the frequency of your CPU – I’m going to split each by section for easier reading.

note: just to clarify each of the below commands should be ran in the terminal and they ‘should’ work. Now… it depends on your distro and bla bla. On Ubuntu and Fedora they work.

Check your CPU’s frequency in realtime on Linux

Below you will find some commands to check your CPU’s speed for each core. Useful if testing if your CPU boosts or underclocks properly.

This one checks every 0.1 seconds:

watch -n.1 "grep \"^[c]pu MHz\" /proc/cpuinfo"

Or if you prefer every 1 second:

watch -n1 "grep \"^[c]pu MHz\" /proc/cpuinfo"

If the above fail, try this one:

watch "(cat /proc/cpuinfo | grep "MHz")"

See your CPU’s frequency right now

Right now, as in not in realtime. The frequency your CPU has or had when you entered the below command:

$ cat /proc/cpuinfo | grep MHz

I don’t really use this one as I don’t really have an use for it. But maybe you’ll find it useful.

Check your CPU’s specifications on Linux

If you just want to see more details about your CPU, just use this command:

lscpu

Just want to see your CPU’s make and model? Just run:

lscpu | grep 'Model name'

Just want to find out the reported minimum frequency and maximum frequency in MHz for your CPU? Run this:

lscpu | grep MHz

Or maybe you want to find out how many threads your CPU has. I am specifically wording threads, because modern CPUs might have Hyper Threading and stuff like that. So your Ryzen 3600x even if its a six core CPU, it has 12 threads. So here is the command:

lscpu | grep 'CPU(s):'

That’s about it

The above commands will output your desired information. They work on most Linux-based system like Ubuntu, Fedora, Debian, CentOS and many others. Have fun!

I hope this small article helps you find out what you need about your CPU.