นี่คือคำสั่ง perf-list ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
perf-list - แสดงรายการประเภทเหตุการณ์ที่เป็นสัญลักษณ์ทั้งหมด
เรื่องย่อ
perf รายการ [hw|sw|แคช|จุดตรวจสอบ|pmu|event_glob]
DESCRIPTION
คำสั่งนี้แสดงประเภทเหตุการณ์เชิงสัญลักษณ์ที่สามารถเลือกได้ใน perf . ต่างๆ
คำสั่งด้วยตัวเลือก -e
เหตุการณ์ ตัวปรับแต่ง
เหตุการณ์สามารถเลือกมีตัวแก้ไขได้โดยการผนวกเครื่องหมายทวิภาคและตัวแก้ไขหนึ่งตัวหรือมากกว่า
ตัวแก้ไขอนุญาตให้ผู้ใช้จำกัดเหตุการณ์ที่จะนับได้ ตัวดัดแปลงต่อไปนี้
มีอยู่:
u - การนับพื้นที่ผู้ใช้
k - การนับเคอร์เนล
h - การนับไฮเปอร์ไวเซอร์
ฉัน - นับไม่ว่าง
G - การนับแขก (ในแขก KVM)
H - การนับโฮสต์ (ไม่ใช่แขก KVM)
p - ระดับที่แม่นยำ
P - ใช้ระดับที่แม่นยำสูงสุดที่ตรวจพบ
S - อ่านค่าตัวอย่าง (PERF_SAMPLE_READ)
D - ตรึงเหตุการณ์ไว้ที่ PMU
การขอ p สามารถใช้ modifier เพื่อระบุความแม่นยำของ address ของคำสั่ง
การขอ p ตัวแก้ไขสามารถระบุได้หลายครั้ง:
0 - SAMPLE_IP สามารถลื่นไถลได้ตามต้องการ
1 - SAMPLE_IP ต้องมีการลื่นไถลคงที่
2 - SAMPLE_IP ขอให้มี 0 skid
3 - SAMPLE_IP ต้องมี 0 skid
สำหรับระบบ Intel การสุ่มตัวอย่างเหตุการณ์ที่แม่นยำนั้นถูกนำมาใช้กับ PEBS ซึ่งรองรับได้ถึง
แม่นยำระดับ 2
ในระบบ AMD จะใช้งานโดยใช้ IBS (ถึงระดับที่แม่นยำ 2) ตัวปรับแต่งที่แม่นยำ
ใช้งานได้กับประเภทเหตุการณ์ 0x76 (รอบ cpu, นาฬิกา CPU ไม่หยุดชะงัก) และ 0xC1 (micro-ops
เกษียณอายุ) เหตุการณ์ทั้งสองแมปกับการสุ่มตัวอย่างการดำเนินการ IBS (IBS op) ด้วย IBS Op Counter
บิตควบคุม (IbsOpCntCtl) ตั้งค่าตามลำดับ (ดู คู่มือโปรแกรมเมอร์สถาปัตยกรรม AMD64
เล่มที่ 2: การเขียนโปรแกรมระบบ 13.3 การสุ่มตัวอย่างตามคำสั่ง) ตัวอย่างการใช้ IBS:
บันทึก perf -a -e cpu-cycles:p ... # ใช้ ibs op รอบการนับ
บันทึก perf -a -e r076:p ... # เหมือนกับ -e cpu-cycles:p
บันทึก perf -a -e r0C1:p ... # ใช้ ibs op นับ micro-ops
RAW ฮาร์ดแวร์ เหตุการณ์ คำอธิบาย
แม้ว่าเหตุการณ์จะไม่สามารถใช้ได้ในรูปแบบสัญลักษณ์ภายในประสิทธิภาพในตอนนี้ ก็สามารถ
เข้ารหัสด้วยวิธีเฉพาะต่อโปรเซสเซอร์
ตัวอย่างเช่น สำหรับซีพียู x86 NNN แสดงถึงการเข้ารหัสการลงทะเบียนแบบ raw ด้วยเลย์เอาต์ของ
IA32_PERFEVTSELx MSRs (ดู [คู่มือนักพัฒนาซอฟต์แวร์สถาปัตยกรรม Intel® 64 และ IA-32
เล่ม 3B: คู่มือการเขียนโปรแกรมระบบ] รูปที่ 30-1 เค้าโครงของ IA32_PERFEVTSELx MSRs) หรือของ AMD
PerfEvtSeln (ดู [คู่มือโปรแกรมเมอร์สถาปัตยกรรม AMD64 เล่มที่ 2: การเขียนโปรแกรมระบบ],
หน้า 344 รูปที่ 13-7 Performance Event-Select Register (PerfEvtSeln))
หมายเหตุ: เฉพาะฟิลด์บิตต่อไปนี้เท่านั้นที่สามารถตั้งค่าในการลงทะเบียนตัวนับ x86: เหตุการณ์, umask,
ขอบ, inv, cmask. อีสป. แขก/โฮสต์เท่านั้นและต้องตั้งค่าสถานะโหมด OS/ผู้ใช้โดยใช้ EVENT
ตัวดัดแปลง
ตัวอย่าง:
หากเอกสาร Intel สำหรับ QM720 Core i7 อธิบายเหตุการณ์ดังนี้:
อีเวนต์ Umask อีเวนต์มาสก์
เลขที่ ค่า Mnemonic คำอธิบาย ความเห็น
A8H 01H LSD.UOPS นับจำนวน micro-ops ใช้ cmask=1 และ
จัดส่งโดยเครื่องตรวจจับกระแสวนกลับเป็นนับ
รอบ
สามารถใช้การเข้ารหัสดิบของ 0x1A8 ได้:
perf stat -e r1a8 -a นอนหลับ 1
บันทึก perf -e r1a8 ...
คุณควรอ้างอิงเอกสารเฉพาะของโปรเซสเซอร์เพื่อรับรายละเอียดเหล่านี้ บาง
ของพวกเขามีการอ้างอิงในส่วนดูเพิ่มเติมด้านล่าง
พารามิเตอร์ กิจกรรม
เหตุการณ์ pmu บางรายการโดย รายการที่สมบูรณ์แบบ จะแสดงด้วย ? ในพวกเขา ตัวอย่างเช่น:
hv_gpci/dtbp_ptitc,phys_processor_idx=?/
ซึ่งหมายความว่าเมื่อกำหนดให้เป็นเหตุการณ์ ค่าสำหรับ ? ยังต้องจัดหา สำหรับ
ตัวอย่าง:
perf stat -C 0 -e 'hv_gpci/dtbp_ptitc,phys_processor_idx=0x2/' ...
OPTIONS
หากไม่มีตัวเลือก เหตุการณ์ที่รู้จักทั้งหมดจะแสดงอยู่ในรายการ
เพื่อจำกัดการใช้รายการ:
1. hw or ฮาร์ดแวร์ เพื่อแสดงรายการเหตุการณ์ของฮาร์ดแวร์เช่น cache-misses เป็นต้น
2. sw or ซอฟต์แวร์ เพื่อแสดงรายการเหตุการณ์ของซอฟต์แวร์ เช่น การสลับบริบท เป็นต้น
3. แคช or แคช เพื่อแสดงรายการเหตุการณ์แคชของฮาร์ดแวร์ เช่น L1-dcache-loads เป็นต้น
4. จุดติดตาม เพื่อแสดงรายการเหตุการณ์ของจุดติดตามทั้งหมด หรือใช้ subsys_glob:event_glob ไปยัง
กรองตามระบบย่อยของ tracepoint เช่น sched, block ฯลฯ
5. PMU เพื่อพิมพ์เคอร์เนลที่ให้มาเหตุการณ์ PMU
6. หากไม่มีการจับคู่ใดๆ ข้างต้น ระบบจะนำ glob ที่จัดให้ไปใช้กับกิจกรรมทั้งหมด
พิมพ์รายการที่ตรงกัน
7. วิธีสุดท้ายคือจะทำการค้นหาสตริงย่อยในชื่อเหตุการณ์ทั้งหมด
สามารถใช้อย่างน้อยหนึ่งประเภทพร้อมกันโดยระบุเหตุการณ์สำหรับประเภท
ระบุไว้
สนับสนุนรูปแบบดิบ:
1. --ดิบการถ่ายโอนข้อมูล, แสดง raw-dump ของเหตุการณ์ทั้งหมด
2. --ดิบการถ่ายโอนข้อมูล [hw|sw|แคช|จุดตรวจสอบ|pmu|event_glob], แสดงให้เห็นการถ่ายโอนข้อมูลดิบของบางอย่าง
ชนิดของเหตุการณ์
ใช้ perf-list ออนไลน์โดยใช้บริการ onworks.net