Ubuntu 13.10 x86_64でパフォーマンスカウンター( https://perf.wiki.kernel.org/index.php/Main_Page )を使用しています。 perf
と入力すると、次のようになります:
perf not found for kernel 3.11.0-031100
You may need to install linux-tools-3.11.0-031100-generic
しかし、apt-get install ...
はそれを見つけられません
E: Unable to locate package linux-tools-3.11.0-031100-generic
uname -r
は3.11.0-031100-generic
を返します。つまり、わずかに異なるカーネル名(Ubuntuのデフォルトは3.11.0-13-generic)です
デフォルトでは、カーネルに一致する正しいバイナリをインストールできますか(および/またはこのためにどのリポジトリを追加する必要がありますか)?
(/ tools/perf /のカーネルソースからコンパイルすることでこの問題を回避できることはわかっていますが、これは機能しますが、aptを介して自動的に実行するのが理想的です。)
linux-tools
とカーネルの両方が同じバージョンである必要があります。そうでない場合は動作しません:
Sudo apt-get install linux-tools linux-generic
Sudo reboot
メインラインカーネルを使用している場合は、メインラインソースに対してperfをコンパイルする必要があります。そうしないと動作しません。
私は同じ問題を抱えていました。私が取得したperfコマンドを実行するたびに:
$ perf
perf_2.6.38-1208 not found
You may need to install linux-tools-2.6.38-1208
しかし、実際にはperfはlinux-tools
パッケージをインストールすることでインストールされましたが、別の名前perf_2.6.38-16
でした。
したがって、perf
の代わりにperf_2.6.38-16
コマンドでperfを使用できます。
perf
という名前のperf_2.6.38-16
のエイリアスを作成できます。
同じ問題を抱えている人がそれを役に立つと思うことを願っています。
私にとって、問題はシステムを13.10から14.04にアップグレードした後のカーネルのバージョンが間違っていたことです。
汎用カーネルパッケージを再インストールして、カーネルの問題を修正しました( アップグレード後のカーネルが間違っています---古いカーネルはまだインストールされていますか? )。その後、perfは完全に機能しました。
ターミナルを開き、次のように入力します
Sudo apt-get install linux-lowlatency-tools-3.11.0-11
その後、もう一度確認してください。
取得できない場合は、これらのパッケージもインストールしてから再試行してください
Sudo apt-get install linux-tools-common linux-base
その後、もう一度確認してください。