"perf"모니터링 도구를 설치하는 방법은 무엇입니까?


답변:



59

우분투 14.04에서는 세 가지 패키지를 설치해야했습니다.

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

5
내가 그것을 시도했을 때, sudo apt-get install linux-tools-common linux-tools-generic(커널 버전에 따라 부분을 건너 뛰는) 사용하는 것으로 충분했습니다.
Martin R.

4
@ Martin-R linux-tools-generic은 항상 최신 커널 버전의 도구를 가리 킵니다. 새로운 커널로 재부팅하지 않고 perf를 원할 경우 이전 커널 (예 : 가동 시간이 2 개월 인 서버)을 실행하는 경우 해당 커널과 페어링 된 도구 (따라서 uname -r셸 확장) 를 명시 적으로 설치해야합니다 .
notpeter

sudo apt-get 업데이트 sudo apt-get -y install linux-tools-common linux-tools-generic linux-tools-uname -r
dylanninin

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

다음 두 명령을 실행하면됩니다!

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

작동하지 않습니다. 12.04를 사용하고 있습니다. 커널 3.2.0-60에 대한 오류 성능을 찾을 수 없습니다. linux-tools-3.2.0-60-generic을 설치해야 할 수도 있습니다
Rishi Dua

작동하지 않는 것 같습니다.
SmallChess

1

우분투 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비 루트 로 사용하려고 할 때 권한 오류가 발생하는 경우 여기를 확인하십시오.

루트 권한없이 퍼프 실행


나는 같은 경고를 받았다. 그러나 나는 당신이 제안한 명령을 실행했지만 여전히 같은 경고가 나타납니다.
6005

linux-tools-oem이 충분했던 것 같습니다.
6005

1
@ 6005 피드백에 대한 Thx, 나는 왜 당신이 다른 행동을 경험했는지 전혀 모른다.
Darkonaut

0

우분투에서 "perf"는 커널 특정 perf 바이너리를 호출하는 쉘 스크립트입니다.

그러나 실제로는 필요하지 않으며 perf는 호환됩니다. / usr / bin에서 래퍼를 제거하고 ./lib/linux-tools*에서 perf 바이너리를 복사하십시오.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.