ນີ້ແມ່ນຄໍາສັ່ງ perf-list ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
perf-list - ບອກປະເພດເຫດການທີ່ເປັນສັນຍາລັກທັງໝົດ
ສະຫຼຸບສັງລວມ
ງາມ ບັນຊີລາຍຊື່ [hw|sw|cache|tracepoint|pmu|event_glob]
ລາຍລະອຽດ
ຄໍາສັ່ງນີ້ສະແດງປະເພດເຫດການສັນຍາລັກທີ່ສາມາດເລືອກໄດ້ໃນ perf ຕ່າງໆ
ຄໍາສັ່ງທີ່ມີທາງເລືອກ -e.
EVENT ແບບ ຈຳ ລອງ
ນັດໝາຍສາມາດເລືອກຕົວແກ້ໄຂໄດ້ໂດຍການເພີ່ມຈໍ້າສອງເມັດ ແລະຕົວປັບໜຶ່ງ ຫຼືຫຼາຍກວ່ານັ້ນ.
ຕົວແກ້ໄຂອະນຸຍາດໃຫ້ຜູ້ໃຊ້ຈໍາກັດເຫດການທີ່ຈະນັບ. ຕົວແກ້ໄຂຕໍ່ໄປນີ້
ມີຢູ່:
u - ການນັບພື້ນທີ່ຜູ້ໃຊ້
k - ການນັບເມັດ
h - ການນັບ hypervisor
ຂ້ອຍ - ການນັບບໍ່ເຄື່ອນໄຫວ
G - ການນັບແຂກ (ໃນ KVM ແຂກ)
H - ການນັບເຈົ້າພາບ (ບໍ່ຢູ່ໃນແຂກ KVM)
p - ລະດັບທີ່ຊັດເຈນ
P - ໃຊ້ລະດັບຄວາມຊັດເຈນທີ່ກວດພົບສູງສຸດ
S - ອ່ານຄ່າຕົວຢ່າງ (PERF_SAMPLE_READ)
D - ປັກໝຸດເຫດການໃສ່ PMU
ໄດ້ p ຕົວແກ້ໄຂສາມາດຖືກໃຊ້ສໍາລັບການກໍານົດວິທີການທີ່ຊັດເຈນຂອງທີ່ຢູ່ຄໍາແນະນໍາຄວນຈະເປັນ.
ໄດ້ 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-cycles, ໂມງ CPU ບໍ່ຢຸດ) ແລະ 0xC1 (micro-ops
ກິນເບັ້ຍບໍານານ). ເຫດການທັງສອງແຜນທີ່ເປັນຕົວຢ່າງການປະຕິບັດ IBS (IBS op) ກັບ IBS Op Counter
ບິດຄວບຄຸມ (IbsOpCntCtl) ກໍານົດຕາມລໍາດັບ (ເບິ່ງຄູ່ມືໂຄງການສະຖາປັດຕະຍະກໍາ AMD64.
ເຫຼັ້ມທີ 2: System Programming, 13.3 Instruction-Based Sampling). ຕົວຢ່າງການນໍາໃຊ້ IBS:
perf record -a -e cpu-cycles:p ... # ໃຊ້ ibs op ຮອບການນັບ
perf record -a -e r076:p ... # ຄືກັນກັບ -e cpu-cycles:p
perf record -a -e r0C1:p ... # ໃຊ້ ibs op ການນັບ micro-ops
RAW ຍາກ EVENT ລາຍລະອຽດ
ເຖິງແມ່ນວ່າໃນເວລາທີ່ເຫດການທີ່ບໍ່ມີຢູ່ໃນຮູບແບບສັນຍາລັກພາຍໃນ perf ໃນປັດຈຸບັນ, ມັນສາມາດເປັນ
ເຂົ້າລະຫັດໃນວິທີການສະເພາະຂອງໂປເຊດເຊີ.
ສໍາລັບຕົວຢ່າງ, ສໍາລັບ x86 CPUs NNN ເປັນຕົວແທນການເຂົ້າລະຫັດການລົງທະບຽນດິບທີ່ມີຮູບແບບຂອງ
IA32_PERFEVTSELx MSRs (ເບິ່ງ [Intel® 64 ແລະ IA-32 ຄູ່ມືນັກພັດທະນາຊອບແວສະຖາປັດຕະຍະກໍາ
Volume 3B: System Programming Guide] ຮູບທີ 30-1 Layout ຂອງ IA32_PERFEVTSELx MSRs) ຫຼື AMD's
PerfEvtSeln (ເບິ່ງ [AMD64 Architecture Programmer’s Manual Volume 2: System Programming],
ຫນ້າ 344, ຮູບ 13-7 ການປະຕິບັດກິດຈະກໍາ - ເລືອກລົງທະບຽນ (PerfEvtSeln)).
ຫມາຍເຫດ: ພຽງແຕ່ຊ່ອງຫວ່າງນ້ອຍຕໍ່ໄປນີ້ສາມາດໄດ້ຮັບການຕັ້ງຄ່າໃນ x86 counter registers: event, umask,
edge, inv, cmask. Esp. Guest/host only ແລະ OS/user mode ຕ້ອງຖືກຕັ້ງຄ່າໂດຍໃຊ້ EVENT
ຜູ້ດັດແປງ.
ຕົວຢ່າງ:
ຖ້າ Intel docs ສໍາລັບ QM720 Core i7 ອະທິບາຍເຫດການເປັນ:
ຫນ້າກາກເຫດການ Umask
ເລກ. ຄຸນຄ່າ Mnemonic ຄໍາອະທິບາຍຄໍາຄິດຄໍາເຫັນ
A8H 01H LSD.UOPS ນັບຈຳນວນ micro-ops ໃຊ້ cmask=1 ແລະ
ສົ່ງໂດຍເຄື່ອງກວດຈັບສະຕຣີມ loop invert ເພື່ອນັບ
ຮອບວຽນ
ການເຂົ້າລະຫັດດິບຂອງ 0x1A8 ສາມາດໃຊ້:
perf stat -e r1a8 -a ນອນ 1
perf record -e r1a8 ...
ທ່ານຄວນອ້າງອີງໃສ່ເອກະສານສະເພາະຂອງໂປເຊດເຊີສໍາລັບການໄດ້ຮັບລາຍລະອຽດເຫຼົ່ານີ້. ບາງ
ພວກມັນຖືກອ້າງອີງຢູ່ໃນພາກ SEE ALSO ຂ້າງລຸ່ມນີ້.
ພາລາມິເຕີ ເຫດການ
ບາງເຫດການ pmu ລາຍຊື່ໂດຍ perf-list ຈະຖືກສະແດງດ້ວຍ ? ໃນພວກເຂົາ. ຍົກຕົວຢ່າງ:
hv_gpci/dtbp_ptitc,phys_processor_idx=?/
ນີ້ຫມາຍຄວາມວ່າເມື່ອສະຫນອງໃຫ້ເປັນເຫດການ, ຄ່າສໍາລັບ ? ຍັງຕ້ອງໄດ້ຮັບການສະຫນອງ. ສໍາລັບ
ຍົກຕົວຢ່າງ:
perf stat -C 0 -e 'hv_gpci/dtbp_ptitc,phys_processor_idx=0x2/' ...
OPTIONS
ໂດຍບໍ່ມີທາງເລືອກ, ເຫດການທີ່ຮູ້ຈັກທັງຫມົດຈະຖືກລະບຸໄວ້.
ເພື່ອຈໍາກັດບັນຊີລາຍຊື່ການນໍາໃຊ້:
1. hw or ຮາດແວ ເພື່ອລາຍຊື່ເຫດການຂອງຮາດແວເຊັ່ນ: ການຂາດແຄດ, ແລະອື່ນໆ.
2. sw or ຊອບແວ ເພື່ອລາຍຊື່ເຫດການຂອງຊອບແວເຊັ່ນ: ສະຫຼັບບໍລິບົດ, ແລະອື່ນໆ.
3. ຖານຄວາມຈໍາ or hwcache ເພື່ອລາຍຊື່ເຫດການແຄດຮາດແວເຊັ່ນ: L1-dcache-loads, ແລະອື່ນໆ.
4. ຈຸດຕິດຕາມ ເພື່ອບອກເຫດການ tracepoint ທັງໝົດ, ໃຊ້ແທນ subsys_glob:event_glob to
ການກັ່ນຕອງໂດຍລະບົບຍ່ອຍ tracepoint ເຊັ່ນ: ຕາຕະລາງ, ຕັນ, ແລະອື່ນໆ.
5. ອໍານາກ ເພື່ອພິມ kernel ສະຫນອງເຫດການ PMU.
6. ຖ້າບໍ່ມີອັນໃດອັນໜຶ່ງທີ່ກ່າວມານັ້ນຖືກກົງກັນ, ມັນຈະນຳໃຊ້ໂລກທີ່ສະໜອງໃຫ້ກັບເຫດການທັງໝົດ,
ການພິມທີ່ກົງກັນ.
7. ເປັນທາງເລືອກສຸດທ້າຍ, ມັນຈະເຮັດການຄົ້ນຫາ substring ໃນຊື່ເຫດການທັງຫມົດ.
ຫນຶ່ງຫຼືຫຼາຍປະເພດສາມາດນໍາໃຊ້ໃນເວລາດຽວກັນ, ລາຍຊື່ເຫດການສໍາລັບປະເພດຕ່າງໆ
ລະບຸ.
ສະຫນັບສະຫນູນຮູບແບບວັດຖຸດິບ:
1. --raw-dump, ສະແດງໃຫ້ເຫັນການຖິ້ມຂີ້ເຫຍື້ອຂອງເຫດການທັງຫມົດ.
2. --raw-dump [hw|sw|cache|tracepoint|pmu|event_glob], ສະແດງໃຫ້ເຫັນການ dump ວັດຖຸດິບຂອງສະເພາະໃດຫນຶ່ງ
ປະເພດຂອງເຫດການ.
ໃຊ້ perf-list ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net