ນີ້ແມ່ນຄໍາສັ່ງ cpupower-monitor ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
cpupower-monitor - ລາຍງານຄວາມຖີ່ຂອງໂປເຊດເຊີແລະສະຖິຕິ idle
ສະຫຼຸບສັງລວມ
cpupower ຕິດຕາມກວດກາ -l
cpupower ຕິດຕາມກວດກາ [-c][- ມ ,[,...]] [-i ວິນາທີ]
cpupower ຕິດຕາມກວດກາ [-c][-m ,[,...]] ຄໍາສັ່ງ
ລາຍລະອຽດ
cpupower-ຕິດຕາມກວດກາ ລາຍງານ topology ຂອງໂປເຊດເຊີ, ຄວາມຖີ່ແລະສະຖິຕິພະລັງງານທີ່ບໍ່ມີປະໂຫຍດ.
ບໍ່ວ່າຈະ ຄໍາສັ່ງ ແມ່ນ forked ແລະສະຖິຕິໄດ້ຖືກພິມອອກຫຼັງຈາກສໍາເລັດຂອງຕົນ, ຫຼືສະຖິຕິແມ່ນ
ພິມອອກເປັນໄລຍະ.
cpupower-ຕິດຕາມກວດກາ ປະຕິບັດສະຖານະການນອນຂອງໂປເຊດເຊີເອກະລາດແລະຕົວນັບຄວາມຖີ່.
ບາງອັນຖືກດຶງມາຈາກສະຖິຕິ kernel, ບາງຄົນກໍາລັງອ່ານຮາດແວໂດຍກົງ
ລົງທະບຽນ. ໃຊ້ -l ເພື່ອໃຫ້ໄດ້ຮັບພາບລວມທີ່ສະຫນັບສະຫນູນໃນລະບົບຂອງທ່ານ.
ທາງເລືອກໃນການ
-l
ລາຍຊື່ຈໍພາບທີ່ມີຢູ່ໃນລະບົບຂອງເຈົ້າ. ລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບແຕ່ລະຈໍແມ່ນ
ສະແດງໃຫ້ເຫັນ:
·ຊື່ໃນເຄື່ອງຫມາຍວົງຢືມທີ່ສາມາດໄດ້ຮັບການຜ່ານພາລາມິເຕີ -m.
· ຈໍານວນຂອງຕົວນັບຕ່າງກັນທີ່ຕິດຕາມກວດກາສະຫນັບສະຫນູນໃນວົງເລັບ.
· ໄລຍະເວລາໃນວິນາທີທີ່ຕົວນັບອາດລົ້ນ, ເນື່ອງຈາກ
ຂໍ້ຈໍາກັດການຈັດຕັ້ງປະຕິບັດ.
· ຊື່ແລະລາຍລະອຽດຂອງຕົວນັບແຕ່ລະຄົນແລະລະດັບລໍາດັບຊັ້ນຂອງໂຮງງານຜະລິດຂອງຕົນ
ການຄຸ້ມຄອງໃນວົງເລັບສີ່ຫຼ່ຽມ:
· [T] -> ກະທູ້
· [C] -> ຫຼັກ
· [P] -> ຊຸດປະມວນຜົນ (ຊັອກເກັດ)
· [M] -> ເຄື່ອງ / ເວທີກວ້າງ counter
- ມ , ,...
ສະແດງສະເພາະຈໍພາບເທົ່ານັ້ນ. ໃຊ້ສະຕຣິງຈໍພາບທີ່ສະໜອງໃຫ້ໂດຍທາງເລືອກ -l.
-i ວິນາທີ
ວັດແທກໄລຍະຫ່າງ.
-c
ຈັດຕາຕະລາງຂະບວນການໃນທຸກໆຫຼັກກ່ອນທີ່ຈະເລີ່ມຕົ້ນແລະສິ້ນສຸດການວັດແທກ. ນີ້ສາມາດເຮັດໄດ້
ຕ້ອງການສໍາລັບຈໍພາບ Idle_Stats ເມື່ອບໍ່ມີຈໍສະແດງຜົນ MSR ອື່ນ (ຕ້ອງດໍາເນີນການ
ຫຼັກທີ່ວັດແທກ) ແມ່ນດໍາເນີນການຂະຫນານ. ນີ້ແມ່ນເພື່ອປຸກໂປເຊດເຊີຈາກ
ການນອນຫຼັບເລິກຂຶ້ນ ແລະປ່ອຍໃຫ້ kernel ບັນຊີຂໍ້ມູນ cpuidle (C-state) ຂອງມັນຄືນໃໝ່
ກ່ອນທີ່ຈະອ່ານເວລາ cpuidle ຈາກ sysfs.
ຄໍາສັ່ງ
ວັດແທກຄຸນລັກສະນະທີ່ບໍ່ເຄື່ອນໄຫວ ແລະ ຄວາມຖີ່ຂອງຄຳສັ່ງ/ວຽກທີ່ກຳນົດເອງ. ໄດ້
ປະຕິບັດໄດ້ ຄໍາສັ່ງ ແມ່ນ forked ແລະຕາມທາງອອກຂອງມັນ, ສະຖິຕິເກັບກໍານັບຕັ້ງແຕ່ມັນແມ່ນ
ສ້ອມຖືກສະແດງ.
-v
ເພີ່ມ verbosity ຖ້າ binary ຖືກລວບລວມດ້ວຍຕົວເລືອກ DEBUG ທີ່ຕັ້ງໄວ້.
MONITOR ລາຍລະອຽດ
Idle_Stats
ສະແດງສະຖິຕິຂອງລະບົບຍ່ອຍ kernel cpuidle. ມູນຄ່າແມ່ນໄດ້ມາຈາກ
/sys/devices/system/cpu/cpu*/cpuidle/state*/. kernel ປັບປຸງຄ່າເຫຼົ່ານີ້ທຸກຄັ້ງ
ສະຖານະ idle ຖືກປ້ອນ ຫຼືຊ້າຍ. ດັ່ງນັ້ນຈຶ່ງສາມາດມີຄວາມບໍ່ຖືກຕ້ອງບາງຢ່າງໃນເວລາທີ່ແກນຢູ່ໃນ
ສະຖານະບໍ່ເຮັດວຽກເປັນບາງເວລາເມື່ອມາດຕະການເລີ່ມຕົ້ນ ຫຼືສິ້ນສຸດ. ໃນກໍລະນີຮ້າຍແຮງທີ່ສຸດມັນສາມາດເກີດຂຶ້ນໄດ້
ແກນອັນໜຶ່ງຢູ່ໃນສະຖານະບໍ່ເຮັດວຽກເປັນເວລາການວັດແທກທັງໝົດ ແລະການນຳໃຊ້ສະຖານະບໍ່ເຮັດວຽກ
ເວລາທີ່ຖືກສົ່ງອອກໂດຍ kernel ບໍ່ໄດ້ຮັບການປັບປຸງ. ໃນກໍລະນີນີ້, ທີ່ຢູ່ອາໄສຂອງລັດແມ່ນ 0
ເປີເຊັນແມ່ນສະແດງໃຫ້ເຫັນໃນຂະນະທີ່ມັນແມ່ນ 100.
Mperf
ຊື່ມາຈາກ aperf/mperf (ສະເລ່ຍ ແລະສູງສຸດ) ການລົງທະບຽນ MSR ທີ່ໃຊ້
ມີຢູ່ໃນໂປເຊດເຊີ X86 ທີ່ຜ່ານມາ. ມັນສະແດງໃຫ້ເຫັນຄວາມຖີ່ສະເລ່ຍ (ລວມທັງການຊຸກຍູ້
ຄວາມຖີ່). ຄວາມຈິງທີ່ວ່າຢູ່ໃນຮາດແວທີ່ຜ່ານມາທັງຫມົດ, ເຄື່ອງຈັບເວລາ mperf ຢຸດເຊົາການຕີຢູ່ໃນໃດໆ
idle state ມັນຍັງຖືກໃຊ້ເພື່ອສະແດງ C0 (ໂປເຊດເຊີເຮັດວຽກ) ແລະ Cx (ໂປເຊດເຊີຢູ່ໃນໃດກໍ່ຕາມ.
ສະພາບນອນ) ເວລາ. ເຄົາເຕີເຫຼົ່ານີ້ບໍ່ມີຂໍ້ຈໍາກັດໃນຄວາມຖືກຕ້ອງ
ຕົວນັບ "idle_Stats" ອາດຈະສະແດງ. ອາດຈະເຮັດວຽກບໍ່ດີໃນ Linux-2.6.20 ຜ່ານ 2.6.29, ເປັນ
acpi-cpufreq ໄດເວີຄວາມຖີ່ຂອງ kernel ແຕ່ລະໄລຍະໄດ້ລຶບລ້າງການລົງທະບຽນ aperf/mperf ໃນເຫຼົ່ານັ້ນ
ແກ່ນ.
ເນຮາເລັມ ແຊນດີບີ HaswellExtended
Intel Core ແລະ Package sleep counters. ກະທູ້ (ແກນ hyperthreaded) ອາດຈະບໍ່ແມ່ນ
ສາມາດເຂົ້າໄປໃນລັດທີ່ເລິກເຊິ່ງກວ່າຖ້າອ້າຍເອື້ອຍນ້ອງຂອງມັນຖືກນໍາໃຊ້. ສະຖານະນອນຊຸດທີ່ເລິກທີ່ສຸດ
ໃນຄວາມເປັນຈິງອາດຈະສະແດງໃຫ້ເຫັນເປັນສະຖານະການນອນກວ້າງຂອງເຄື່ອງ / ເວທີແລະສາມາດເຂົ້າໄດ້ພຽງແຕ່ຖ້າຫາກວ່າ
ຫຼັກທັງໝົດບໍ່ເຄື່ອນໄຫວ. ຊອກຫາຄູ່ມື Intel (ບາງອັນແມ່ນໃຫ້ຢູ່ໃນພາກອ້າງອີງ)
ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ. ຈໍພາບມີຊື່ຕາມຄອບຄົວ CPU ທີ່ສະຖານະນອນ
ຄວາມສາມາດໄດ້ຖືກນໍາສະເຫນີແລະອາດຈະບໍ່ກົງກັບຊື່ CPU ຂອງເວທີ. ສໍາລັບ
ຕົວຢ່າງ, ໂປເຊດເຊີ IvyBridge ມີຄວາມສາມາດນອນຫຼັບທີ່ໄດ້ຖືກນໍາສະເຫນີໃນ
ຄອບຄົວໂຮງງານຜະລິດ Nehalem ແລະ SandyBridge. ດັ່ງນັ້ນໃນໂປເຊດເຊີ IvyBridge ຫນຶ່ງຈະໄດ້ຮັບ
ຈໍພາບການນອນຂອງ Nehalem ແລະ SandyBridge. HaswellExtended ສະຖານະນອນຊຸດພິເສດ
ຄວາມສາມາດແມ່ນມີຢູ່ໃນສະເພາະ Haswell (ຄອບຄົວ 0x45) ແລະອາດຈະເປັນຄືກັນ
ໂປເຊດເຊີອື່ນໆໃນອະນາຄົດ.
Fam_12ຊມ Fam_14ຊມ
ແລັບທັອບ AMD ແລະໂປເຊດເຊີ desktop (ຄອບຄົວ 12h ແລະ 14h) sleep state counters. ທະບຽນ
ແມ່ນເຂົ້າເຖິງຜ່ານ PCI ແລະດັ່ງນັ້ນຈຶ່ງຍັງສາມາດອ່ານອອກໃນຂະນະທີ່ cores ໄດ້ຖືກ offline.
ມີເຄົາເຕີພິເສດອັນໜຶ່ງຄື: NBP1 (ຂົວເໜືອ P1). ອັນນີ້ໃຫ້ຜົນຕອບແທນ 0 ຫຼື 1 ສະເໝີ,
ຂຶ້ນກັບວ່າລັດໄຟຟ້າ North Bridge P1 ໄດ້ເຂົ້າມາຢ່າງໜ້ອຍໜຶ່ງຄັ້ງໃນລະຫວ່າງ
ວັດແທກເວລາ. ຄວາມສາມາດໃນການເຂົ້າໄປໃນສະຖານະ NBP1 ຍັງຂຶ້ນກັບການຄຸ້ມຄອງພະລັງງານຂອງກາຟິກ.
ດັ່ງນັ້ນເຄົາເຕີນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອກວດສອບວ່າການຄຸ້ມຄອງພະລັງງານຂອງໄດເວີຂອງກາຟິກ
ແມ່ນເຮັດວຽກຕາມທີ່ຄາດໄວ້.
ຕົວຢ່າງ
cpupower monitor -l" ອາດຈະສະແດງ:
ຈໍພາບ "Mperf" (3 ລັດ) - ອາດຈະລົ້ນຫຼັງຈາກ 922000000 ວິນາທີ
...
ຕິດຕາມ "Idle_Stats" (3 ລັດ) - ອາດຈະລົ້ນຫຼັງຈາກ 4294967295 s
...
cpupower monitor -m "Idle_Stats,Mperf" scp /tmp/test /nfs/tmp
ຕິດຕາມກວດກາຄໍາສັ່ງ scp, ສະແດງທັງ Mperf ແລະ Idle_Stats ລັດ counter ສະຖິຕິ, ແຕ່ໃນ
ແລກປ່ຽນຄໍາສັ່ງ.
ຈົ່ງລະມັດລະວັງວ່າຄໍາສັ່ງປົກກະຕິທີ່ຈະນໍາໃຊ້ CPU ຫນຶ່ງຢ່າງເຕັມສ່ວນໂດຍການເຮັດ:
cpupower monitor cat /dev/zero >/dev/null
ບໍ່ເຮັດວຽກຕາມທີ່ຄາດໄວ້, ເພາະວ່າຜົນຜະລິດທີ່ວັດແທກໄດ້ຖືກໂອນໄປຫາ /dev/null. ນີ້
ສາມາດແກ້ໄຂໄດ້ໂດຍການວາງສາຍເຂົ້າໄປໃນຕົວໜັງສືແກະນ້ອຍໆຂອງຕົນເອງ. ກົດ CTRL-c ເພື່ອ
ຢຸດຄໍາສັ່ງແລະໄດ້ຮັບການວັດແທກຜົນໄດ້ຮັບສະແດງ.
ຂໍ້ມູນອ້າງອິງ
"ຄູ່ມືນັກພັດທະນາ BIOS ແລະ Kernel (BKDG) ສໍາລັບ AMD Family 14h Processors"
http://support.amd.com/us/Processor_TechDocs/43170.pdf
"Intel® Turbo Boost Technology ໃນ Intel® Core™ Microarchitecture (Nehalem) Based
ໂປເຊດເຊີ" http://download.intel.com/design/processor/applnots/320354.pdf
"Intel® 64 ແລະ IA-32 Architectures Software Developer's Manual Volume 3B: System
ຄູ່ມືການຂຽນໂປຼແກຼມ" http://www.intel.com/products/processor/manuals
ໃຊ້ cpupower-monitor ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net