Make sure you are installing this tool for the right Kernel release. If you just type:
sudo apt-get install linux-tools
It will install it for the latest Linux release in your machine and in case you are booting a previous version (say for stability reason), it will err. In my case it installed for .45 instead of .43 and I had to use the following command to install it:
sudo apt-get install linux-tools-3.2.0.43
You can find your Kernel release by typing :
uname -r
To make sure it's working right you can try this:
perf record /bin/ls
Just in case you are going to install Zoom tool, you need to have Perf installed for being able to use all its utilities.
In 14.04, the linux-tools package does not exist unqualified:
$ sudo apt-get install linux-tools
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package linux-tools is a virtual package provided by:
linux-tools-virtual 3.13.0.36.43
linux-tools-lowlatency 3.13.0.36.43
linux-tools-generic-lts-trusty 3.13.0.36.43
linux-tools-generic-lts-saucy 3.13.0.36.43
linux-tools-generic 3.13.0.36.43
You should explicitly select one to install.
E: Package 'linux-tools' has no installation candidate
Instead, you can install one of the packages listed, depending upon the kernel you have installed. Most users will want linux-tools-generic.
After Command 'perf' not found, it suggested to install with sudo apt install linux-tools-common. Doing so and trying to run perf afterward still resulted in:
WARNING: perf not found for kernel 4.15.0-39
You may need to install the following packages for this specific kernel:
linux-tools-4.15.0-39-generic
linux-cloud-tools-4.15.0-39-generic
You may also want to install one of the following packages to keep up to date:
linux-tools-generic
linux-cloud-tools-generic
I decided for sudo apt-get install linux-tools-generic and this was enough.
In case you run into permission-error when trying to use perf as non-root, look here:
On ubuntu "perf" is a shell script that calls a kernel specific perf binary.
But that's not actually needed, perf is compatible. Just remove the wrapper from /usr/bin and copy any of the perf binaries from ./lib/linux-tools* to it.
On Ubuntu I had to install three packages:
The
perf
utility can be found in the linux-tools package.Make sure you are installing this tool for the right Kernel release. If you just type:
sudo apt-get install linux-tools
It will install it for the latest Linux release in your machine and in case you are booting a previous version (say for stability reason), it will err. In my case it installed for .45 instead of .43 and I had to use the following command to install it:
sudo apt-get install linux-tools-3.2.0.43
You can find your Kernel release by typing :
uname -r
To make sure it's working right you can try this:
perf record /bin/ls
Just in case you are going to install Zoom tool, you need to have Perf installed for being able to use all its utilities.
To get the latest version of perf irrespective of the kernel version (perf version is independent of the kernel version):
perf --version
to check the current versionIn 14.04, the
linux-tools
package does not exist unqualified:Instead, you can install one of the packages listed, depending upon the kernel you have installed. Most users will want
linux-tools-generic
.Ubuntu:
https://packages.ubuntu.com/eoan/linux-tools-common
Debian:
https://packages.debian.org/buster/linux-perf
I installed Linux 3.17.2 on my machine and tried
it showed that linux-tools is not present. In this case, download the required linux kernel version, go to linux->tools->perf :
and then run make command :
and then run make install command:
and then reboot. You just installed perf manually.
Running the following two commands will do it!
Here's how it worked for me On Ubuntu 18.04:
After
Command 'perf' not found
, it suggested to install withsudo apt install linux-tools-common
. Doing so and trying to runperf
afterward still resulted in:I decided for
sudo apt-get install linux-tools-generic
and this was enough.In case you run into permission-error when trying to use
perf
as non-root, look here:Run perf without root-rights
On ubuntu "perf" is a shell script that calls a kernel specific perf binary.
But that's not actually needed, perf is compatible. Just remove the wrapper from /usr/bin and copy any of the perf binaries from ./lib/linux-tools* to it.