วิธีการติดตั้งเครื่องมือตรวจสอบ“ perf”


75

ฉันจะติดตั้งperfเครื่องมือตรวจสอบได้อย่างไร


2
คุณต้องการตรวจสอบอะไรอย่างแน่นอน
ddeimeke

6
@ddeimeke ที่ดูเหมือนคำถามที่ไม่เกี่ยวข้อง
dbliss

@ddeimeke มันไม่สำคัญ
SmallChess

คำตอบ:


66

perfยูทิลิตี้ที่สามารถพบได้ในลินุกซ์เครื่องมือ แพคเกจ


8
คุณอาจต้องการติดตั้งlinux-tools-genericเนื่องจากมีโมดูลเคอร์เนลที่ perf โต้ตอบกับ
อัลเลน

Yep @Allen linux-tools-generic เป็นสิ่งที่ฉันต้องการ!
jerome

59

บน Ubuntu 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 ชี้ไปที่เครื่องมือเสมอสำหรับเคอร์เนลรุ่นล่าสุด เมื่อเรียกใช้เคอร์เนลเก่า (เช่นเซิร์ฟเวอร์กับ uptime เดือนคู่) ถ้าคุณต้องการ 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 รุ่นล่าสุดในเครื่องของคุณและในกรณีที่คุณกำลังบูทรุ่นก่อนหน้า (พูดด้วยเหตุผลด้านเสถียรภาพ) มันจะผิดพลาด ในกรณีของฉันมันติดตั้งสำหรับ. 45 แทน. 43 และฉันต้องใช้คำสั่งต่อไปนี้เพื่อติดตั้ง:

sudo apt-get install linux-tools-3.2.0.43

คุณสามารถค้นหาเคอร์เนลรีลีสได้โดยพิมพ์: uname -r

เพื่อให้แน่ใจว่าทำงานได้ถูกต้องคุณสามารถลอง: perf record /bin/ls

ในกรณีที่คุณจะติดตั้งเครื่องมือซูมคุณจะต้องติดตั้ง 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 ในกรณีนี้ให้ดาวน์โหลดรุ่นเคอร์เนล 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 ฉันได้รับข้อผิดพลาด perf ไม่พบสำหรับเคอร์เนล 3.2.0-60 คุณอาจต้องติดตั้ง linux-tools-3.2.0-60-generic
Rishi Dua

มันดูไม่ทำงาน
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ในฐานะที่ไม่ใช่รูทให้ดูที่นี่:

รัน perf โดยไม่มีสิทธิ์รูท


ฉันได้รับคำเตือนแบบเดียวกัน แต่จากนั้นฉันรันคำสั่งที่คุณแนะนำและฉันยังคงได้รับคำเตือนเดิม
6005

linux-tools-oem ดูเหมือนจะเพียงพอแล้ว
6005

1
@ 6005 ขอบคุณสำหรับคำติชมฉันไม่มีความคิดว่าทำไมคุณถึงมีพฤติกรรมที่แตกต่างออกไป
Darkonaut

0

บน ubuntu "perf" เป็นเชลล์สคริปต์ที่เรียกเคอร์เนล perf ไบนารีที่เฉพาะเจาะจง

แต่นั่นไม่จำเป็นจริง ๆ แล้ว perf เข้ากันได้ เพียงแค่เอา wrapper ออกจาก / usr / bin และคัดลอกไบนารีเพอร์เฟคใด ๆ จาก. / lib / linux-tools* ไปที่มัน


-1
sudo apt-get install linux-tools-virtual

คำตอบนี้ไร้ประโยชน์โดยไม่มีคำใบ้ของวิธีการที่กำหนดเป้าหมาย
cmks
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.