web-dev-qa-db-ja.com

「perf」監視ツールをインストールする方法は?

perf監視ツールをインストールするにはどうすればよいですか?

72
samarasa

perfユーティリティは、 linux-tools パッケージにあります。

66

Ubuntu 14.04では、3つのパッケージをインストールする必要がありました。

apt-get install linux-tools-common linux-tools-generic linux-tools-`uname -r`
56
notpeter

適切なカーネルリリース用にこのツールをインストールしていることを確認してください。入力するだけの場合:

Sudo apt-get install linux-tools

マシンの最新のLinuxリリース用にインストールされ、以前のバージョンを起動する場合(安定性のためなど)、エラーが発生します。私の場合、.43ではなく.45でインストールされ、次のコマンドを使用してインストールする必要がありました。

Sudo apt-get install linux-tools-3.2.0.43

次のように入力して、カーネルのリリースを見つけることができます:uname -r

正しく動作することを確認するには、次を試してください:perf record /bin/ls

ズームツール をインストールする場合に備えて、すべてのユーティリティを使用できるようにするにはPerfをインストールする必要があります。

25
Mona Jalal

カーネルバージョンに関係なくperfの最新バージョンを取得するには(perfバージョンはカーネルバージョンに依存しません):

git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux/tools/perf
make
cp perf /usr/bin

perf --versionは現在のバージョンを確認します

17
bodha

14.04では、linux-toolsパッケージは未修飾では存在しません。

$ 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

代わりに、インストールしたカーネルに応じて、リストされているパッケージのいずれかをインストールできます。ほとんどのユーザーはlinux-tools-genericを必要とします。

5
Drew Noakes

Linux 3.17.2をマシンにインストールしてみました

Sudo apt-get install linux-tools-3.17.2

linux-toolsが存在しないことが示されました。この場合、必要なLinuxカーネルバージョンをダウンロードし、linux-> tools-> perfに移動します。

cd linux/tools/perf

そしてmakeコマンドを実行します:

make

そしてmake installコマンドを実行します:

make install

その後、再起動します。 perfを手動でインストールしました。

4

次の2つのコマンドを実行すると実行できます!

Sudo apt-get install linux-tools-common 
Sudo apt-get install linux-tools
1
phoenix bai

Ubuntu 18.04での動作は次のとおりです。

Command 'perf' not foundの後、Sudo apt install linux-tools-commonでインストールすることを提案しました。そのようにして、perfを実行しようとすると、まだ次の結果になりました。

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

Sudo apt-get install linux-tools-genericを決定しましたが、これで十分でした。

perfを非ルートとして使用しようとしたときに、permission-errorに遭遇した場合は、こちらをご覧ください。

ルート権限なしでperfを実行

1
Darkonaut

Ubuntuの「perf」は、カーネル固有のperfバイナリを呼び出すシェルスクリプトです。

しかし、実際には必要ありません。perfは互換性があります。ラッパーを/ usr/binから削除し、perfバイナリを./lib/linux-tools*からコピーします。

0
prabha101