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


回答:



59

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

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

5
試してみたところ、使用sudo apt-get install linux-tools-common linux-tools-generic(カーネルのバージョンに依存する部分のスキップ)だけで十分でした。
マーティンR.

4
@ Martin-R linux-tools-genericは、常に最新のカーネルバージョンのツールを指します。古いカーネル(2、3か月稼働しているサーバーなど)を実行している場合、新しいカーネルを再起動せずにperfを使用するには、そのカーネルとペアになっているツールを明示的にインストールする必要があります(uname -rシェルの拡張)。
notpeter

sudo apt-get update sudo apt-get -y linux-tools-commonをインストールlinux-tools-generic linux- uname -r
tools-

25

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

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

Zoom toolをインストールする場合に備えて、すべてのユーティリティを使用するにはPerfをインストールする必要があります。


18

カーネルバージョンに関係なく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 現在のバージョンを確認するには


6

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ます。


4

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を手動でインストールしました。


再起動は必要ありません。また、ソースコードからコンパイルする場合; linux-tools-3.17.2は必要ありません
Heartinpiece

1

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

sudo apt-get install linux-tools-common 
sudo apt-get install linux-tools

動作しません。12.04を使用しています。カーネル3.2.0-60でエラーperfが見つかりません。あなたは、Linux-ツール-3.2.0-60-ジェネリックをインストールする必要があります
リシドゥア

これは機能していないようです。
SmallChess

1

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非rootとして使用しようとしたときにpermission-errorに遭遇した場合、ここを見てください:

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


同じ警告が表示されました。しかし、その後、私はあなたが提案したコマンドを実行しましたが、それでも同じ警告が表示されます。
6005

linux-tools-oemで十分だったようです。
6005

1
@ 6005フィードバックをありがとうございます。しかし、なぜあなたが別の行動を経験したのかはわかりません。
ダーコノート

0

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

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


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.