ນີ້ແມ່ນຄໍາສັ່ງ perf-stat ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
perf-stat - ດໍາເນີນການຄໍາສັ່ງແລະເກັບກໍາສະຖິຕິການຕ້ານການປະຕິບັດ
ສະຫຼຸບສັງລວມ
ງາມ ລັດ [-e | --event=EVENT] [-a]
ງາມ ລັດ [-e | --event=EVENT] [-a] — [ ]
ລາຍລະອຽດ
ຄໍາສັ່ງນີ້ດໍາເນີນການຄໍາສັ່ງແລະລວບລວມສະຖິຕິການຕ້ານການປະຕິບັດຈາກມັນ.
OPTIONS
...
ຄໍາສັ່ງໃດໆທີ່ທ່ານສາມາດລະບຸໄວ້ໃນແກະ.
-e, --event=
ເລືອກເຫດການ PMU. ການຄັດເລືອກສາມາດເປັນ:
· ຊື່ເຫດການທີ່ເປັນສັນຍາລັກ (ໃຊ້ ງາມ ບັນຊີລາຍຊື່ ເພື່ອບັນຊີລາຍການເຫດການທັງຫມົດ)
·ເຫດການ PMU ດິບ (eventsel+umask) ໃນຮູບແບບ rNNN ທີ່ NNN ເປັນເລກຖານສິບຫົກ
ຕົວອະທິບາຍເຫດການ.
· ເຫດການທີ່ເປັນສັນຍາລັກຄື pmu/param1=0x3,param2/ ບ່ອນທີ່ param1 ແລະ param2
ຖືກກໍານົດເປັນຮູບແບບສໍາລັບ PMU ໃນ
/sys/bus/event_sources/devices/ /format/*
· ເຫດການທີ່ເປັນສັນຍາລັກຄື pmu/config=M,config1=N,config2=K/ ບ່ອນທີ່ M, N, K
ແມ່ນຕົວເລກ (ໃນຮູບແບບທົດສະນິຍົມ, hex, octal). ຄ່າທີ່ຍອມຮັບໄດ້ສໍາລັບແຕ່ລະອັນ config,
config1 ແລະ config2 ຕົວກໍານົດການແມ່ນຖືກກໍານົດໂດຍລາຍການທີ່ສອດຄ້ອງກັນໃນ
/sys/bus/event_sources/devices/ /format/*
-i, --no-inherit
ວຽກງານຂອງເດັກບໍ່ໄດ້ຮັບມໍລະດົກຕົວນັບ
-p, --pid=
ເຫດການສະຖິຕິຢູ່ໃນ id ຂະບວນການທີ່ມີຢູ່ແລ້ວ (ລາຍການທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ)
-t, --tid=
ເຫດການສະຖິຕິຢູ່ໃນ id thread ທີ່ມີຢູ່ແລ້ວ (ລາຍການທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ)
-a, --all-cpu
ການເກັບກໍາທົ່ວລະບົບຈາກ CPU ທັງຫມົດ
-c, --scale
scale/ normalize counter values
-r, --repeat=
repeat ຄໍາສັ່ງແລະພິມສະເລ່ຍ + stddev (ສູງສຸດ: 100). 0 ຫມາຍຄວາມວ່າຕະຫຼອດໄປ.
-B, --big-num
ພິມຈໍານວນຂະຫນາດໃຫຍ່ທີ່ມີຕົວແຍກນັບພັນຕາມທ້ອງຖິ່ນ
-C, --cpu=
ນັບພຽງແຕ່ຢູ່ໃນບັນຊີລາຍຊື່ຂອງ CPUs ສະຫນອງໃຫ້. CPU ຫຼາຍສາມາດສະຫນອງໃຫ້ເປັນ
ບັນຊີລາຍຊື່ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດທີ່ບໍ່ມີຊ່ອງຫວ່າງ: 0,1. ຊ່ວງຂອງ CPUs ຖືກລະບຸດ້ວຍ -: 0-2. ໃນ
ໂໝດຕໍ່ກະທູ້, ຕົວເລືອກນີ້ຖືກລະເລີຍ. ທາງເລືອກ -a ແມ່ນຍັງມີຄວາມຈໍາເປັນເພື່ອເປີດໃຊ້ງານ
ການຕິດຕາມລະບົບທັງຫມົດ. ຄ່າເລີ່ມຕົ້ນແມ່ນການນັບໃສ່ CPU ທັງໝົດ.
-A, --no-aggr
ຫ້າມການນັບລວມຢູ່ໃນທຸກ CPU ທີ່ຖືກກວດສອບຢູ່ໃນໂໝດທົ່ວລະບົບ (-a). ນີ້
ທາງເລືອກແມ່ນຖືກຕ້ອງໃນໂຫມດທົ່ວລະບົບເທົ່ານັ້ນ.
-n, --null
null run - ຢ່າເລີ່ມຕົວນັບໃດໆ
-v, --verbose
ເປັນ verbose ຫຼາຍ (ສະແດງຄວາມຜິດພາດເປີດ counter, ແລະອື່ນໆ)
-x SEP, --field-separator SEP
ການນັບພິມໂດຍໃຊ້ຮູບແບບ CSV ເພື່ອເຮັດໃຫ້ມັນງ່າຍຕໍ່ການນໍາເຂົ້າໂດຍກົງ
ສະເປຣດຊີດ. ຖັນຖືກແຍກອອກໂດຍສະຕຣິງທີ່ລະບຸໄວ້ໃນ SEP.
-G ຊື່, --cgroup ຊື່
ຕິດຕາມກວດກາພຽງແຕ່ຢູ່ໃນບັນຈຸ (cgroup) ເອີ້ນວ່າ "ຊື່". ທາງເລືອກນີ້ສາມາດໃຊ້ໄດ້ໃນ
ໂໝດຕໍ່ CPU. ລະບົບໄຟລ໌ cgroup ຕ້ອງໄດ້ຮັບການຕິດຕັ້ງ. ກະທູ້ທັງໝົດທີ່ເປັນຂອງ
ບັນຈຸ "ຊື່" ຖືກຕິດຕາມເມື່ອພວກເຂົາແລ່ນຢູ່ໃນ CPUs ທີ່ຖືກກວດສອບ. ຫຼາຍກຸ່ມ
ສາມາດໄດ້ຮັບການສະຫນອງໃຫ້. ແຕ່ລະ cgroup ຖືກນໍາໃຊ້ກັບເຫດການທີ່ສອດຄ້ອງກັນ, ie, cgroup ທໍາອິດ
ກັບເຫດການທໍາອິດ, ກຸ່ມທີສອງໄປຫາເຫດການທີສອງແລະອື່ນໆ. ມັນເປັນໄປໄດ້ທີ່ຈະສະຫນອງການ
cgroup ຫວ່າງເປົ່າ (ຕິດຕາມຕະຫຼອດເວລາ) ໂດຍໃຊ້, ຕົວຢ່າງ, -G foo,,bar. Cgroups ຕ້ອງມີ
ເຫດການທີ່ສອດຄ້ອງກັນ, ie, ພວກເຂົາສະເຫມີຫມາຍເຖິງເຫດການທີ່ຖືກກໍານົດໄວ້ກ່ອນຫນ້າຂອງຄໍາສັ່ງ
ເສັ້ນ.
-o ໄຟລ໌, --output file
ພິມຜົນຜະລິດເຂົ້າໄປໃນໄຟລ໌ກໍານົດ.
-- ຕື່ມໃສ່
ຕື່ມໃສ່ກັບໄຟລ໌ຜົນຜະລິດທີ່ກໍານົດດ້ວຍທາງເລືອກ -o. ຖືກລະເລີຍຖ້າ -o ບໍ່ແມ່ນ
ລະບຸ.
--log-fd
ບັນທຶກຜົນຜະລິດໄປຫາ fd, ແທນທີ່ຈະ stderr. ບວກກັບ --output, ແລະເຊິ່ງກັນແລະກັນ
ກັບມັນ. --append ອາດຈະຖືກນໍາໃຊ້ຢູ່ທີ່ນີ້. ຕົວຢ່າງ: 3>ຜົນໄດ້ຮັບ perf stat --log-fd 3 — $cmd
3>>ຜົນໄດ້ຮັບ perf stat --log-fd 3 --append — $cmd
--pre, --post
hooks ການວັດແທກກ່ອນ ແລະຫຼັງ, ເຊັ່ນ:
perf stat --repeat 10 --null --sync --pre ເຮັດໃຫ້ -s O=defconfig-build/ສະອາດ — ເຮັດ -s -j64
O=defconfig-build/ bzImage
-I msecs, --interval-print msecs
ຈໍານວນການພິມ deltas ທຸກໆ N milliseconds (ຕໍາ່ສຸດທີ່: 10ms) ອັດຕາສ່ວນ overhead ສາມາດ
ສູງໃນບາງກໍລະນີ, ສໍາລັບການຍົກຕົວຢ່າງ, ຂະຫນາດນ້ອຍ, ໄລຍະຫ່າງຍ່ອຍ 100ms. ໃຊ້ດ້ວຍຄວາມລະມັດລະວັງ.
ຍົກຕົວຢ່າງ: ງາມ ລັດ -I 1000 -e ຮອບວຽນ -a ນອນ 5
--ຕໍ່ຊັອກເກັດ
ການນັບລວມກັນຕໍ່ຊັອກເກັດຂອງໂປເຊດເຊີສຳລັບການວັດແທກໂໝດທົ່ວລະບົບ. ນີ້ແມ່ນ
ຮູບແບບທີ່ເປັນປະໂຫຍດເພື່ອກວດພົບຄວາມບໍ່ສົມດຸນລະຫວ່າງເຕົ້າສຽບ. ເພື່ອເປີດໃຊ້ໂໝດນີ້, ໃຫ້ໃຊ້ --per-socket
ນອກເຫນືອໄປຈາກ -a. (ທົ່ວລະບົບ). ຜົນຜະລິດປະກອບມີຈໍານວນ socket ແລະຈໍານວນ
ຂອງໂປເຊດເຊີອອນໄລນ໌ຢູ່ໃນເຕົ້າຮັບນັ້ນ. ນີ້ແມ່ນເປັນປະໂຫຍດເພື່ອວັດແທກປະລິມານຂອງ
ການລວບລວມ.
--ຕໍ່ຫຼັກ
ການນັບລວມກັນຕໍ່ໂປເຊດເຊີທາງດ້ານຮ່າງກາຍສໍາລັບການວັດແທກຮູບແບບທົ່ວລະບົບ. ນີ້ແມ່ນ
ຮູບແບບທີ່ເປັນປະໂຫຍດເພື່ອກວດພົບຄວາມບໍ່ສົມດຸນລະຫວ່າງແກນທາງດ້ານຮ່າງກາຍ. ເພື່ອເປີດໃຊ້ໂໝດນີ້, ໃຫ້ໃຊ້
--per-core ນອກຈາກ -a. (ທົ່ວລະບົບ). ຜົນຜະລິດປະກອບມີຈໍານວນຫຼັກແລະ
ຈໍານວນຂອງໂປເຊດເຊີຢ່າງມີເຫດຜົນອອນໄລນ໌ກ່ຽວກັບໂປເຊດເຊີທາງດ້ານຮ່າງກາຍນັ້ນ.
-- ຕໍ່ກະທູ້
ການນັບລວມກັນຕໍ່ກະທູ້ທີ່ຕິດຕາມ, ເມື່ອຕິດຕາມກະທູ້ (-t ທາງເລືອກ) ຫຼື
ຂະບວນການ (-p ທາງເລືອກ).
-D msecs, --delay msecs
ຫຼັງຈາກເລີ່ມຕົ້ນໂຄງການ, ລໍຖ້າ msecs ກ່ອນທີ່ຈະວັດແທກ. ອັນນີ້ມີປະໂຫຍດໃນການກັ່ນຕອງອອກ
ໄລຍະເລີ່ມຕົ້ນຂອງໂຄງການ, ເຊິ່ງມັກຈະແຕກຕ່າງກັນຫຼາຍ.
-T, --ທຸລະກໍາ
ພິມສະຖິຕິຂອງການປະຕິບັດທຸລະກໍາຖ້າສະຫນັບສະຫນູນ.
ຕົວຢ່າງ
$ perf stat — ເຮັດ -j
ສະຖິຕິການຕ້ານທານການປະຕິບັດສໍາລັບ 'make -j':
8117.370256 ໝາຍຕິກໂມງໜ້າວຽກ #11.281 ປັດໄຈການນຳໃຊ້ CPU
678 ສະຫຼັບສະພາບການ # 0.000 M/sec
133 ການເຄື່ອນຍ້າຍ CPU # 0.000 M/sec
235724 pagefaults # 0.029 M/sec
24821162526 ຮອບວຽນ CPU # 3057.784 M/sec
18687303457 ຄໍາແນະນໍາ # 2302.138 M/sec
172158895 cache references #21.209 M/sec
27075259 cache ຂາດ # 3.335 M/sec
ເວລາຜ່ານໂມງຕິດຝາ: 719.554352 msecs
ໃຊ້ perf-stat ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net