ນີ້ແມ່ນຄໍາສັ່ງ idlestat ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
idlestat - ເຄື່ອງມືການວິເຄາະສະຖານະຂອງ CPU.
ສະຫຼຸບສັງລວມ
ຮູບແບບການຕິດຕາມ:
idlestat --trace -f|--trace-file ຊື່ເອກະສານ -t|--ໄລຍະເວລາ ວິນາທີ [ທາງເລືອກ] [ຄໍາສັ່ງ]
ໂໝດການລາຍງານ:
idlestat --ນໍາເຂົ້າ -f|--trace-file ຊື່ເອກະສານ [ທາງເລືອກ]
ລາຍລະອຽດ
Idlestat ມາພ້ອມກັບສອງໂຫມດ: ໃນ trace ຮູບແບບການ, ມັນວັດແທກໄລຍະເວລາທີ່ CPUs ຢູ່ໃນ
ສະຖານະ idle ແລະປະຕິບັດການທີ່ແຕກຕ່າງກັນ, ວິເຄາະເຫດການ captured, ບັນທຶກໃຫ້ເຂົາເຈົ້າ, ແລະ
ສ້າງບົດລາຍງານ; ໃນ ການລາຍງານ ຮູບແບບການ, ມັນອ່ານໄຟລ໌ຕິດຕາມ, ວິເຄາະເຫດການທີ່ເຂົ້າສູ່ລະບົບ
ໄຟລ໌ຕິດຕາມ, ແລະສ້າງບົດລາຍງານ. ບົດລາຍງານໂດຍ idlestat ສະແດງໃຫ້ເຫັນສະຖິຕິຂອງພະລັງງານ
ລັດທີ່ກ່ຽວຂ້ອງ. ໃນປັດຈຸບັນ, ມັນຈັດການກັບລັດ P, ລັດ C, ແລະລັດ IRQ.
ສໍາລັບຮູບແບບການຕິດຕາມ, idlestat ອີງໃສ່ການທໍາງານ FTRACE ຂອງ kernel ໃນການຕິດຕາມກວດກາແລະຈັບ C-
ການປ່ຽນສະຖານະ ແລະ P-state ຂອງ CPUs ໃນໄລຍະເວລາໃດໜຶ່ງ. ນັ້ນແມ່ນ, ສໍາລັບຮູບແບບການຕິດຕາມ,
idlestat ຕ້ອງການ kernel ທີ່ມີການຕັ້ງຄ່າທີ່ກ່ຽວຂ້ອງ FTRACE ຖືກເປີດໃຊ້. ແລະນັບຕັ້ງແຕ່ມັນໃຊ້
FTRACE, ສິດທິຂອງຮາກແມ່ນຈໍາເປັນໃນເວລາທີ່ແລ່ນຢູ່ໃນໂຫມດການຕິດຕາມ. Idlestat ສະກັດເອົາ
ຂໍ້ມູນຕໍ່ໄປນີ້ຈາກໄຟລ໌ຕິດຕາມ:
ເວລາທີ່ CPUs ເຂົ້າມາ ແລະອອກຈາກສະຖານະ C ທີ່ແນ່ນອນ
ເວລາທີ່ CPUs ເຂົ້າມາ ແລະອອກຈາກສະຖານະ P-ທີ່ແນ່ນອນ
ເພີ່ມ IRQs
ຫຼັງຈາກແລ່ນສຳເລັດ, idlestat ຈະຄິດໄລ່ ແລະລາຍງານຂໍ້ມູນຕໍ່ໄປນີ້:
- ເວລາທັງໝົດ, ສະເລ່ຍ, ຕໍາ່ສຸດ, ແລະສູງສຸດທີ່ໃຊ້ໃນແຕ່ລະລັດ C, ຕໍ່ CPU.
- ທັງຫມົດ, ສະເລ່ຍ, ຕໍາ່ສຸດທີ່, ແລະເວລາສູງສຸດທີ່ໃຊ້ໃນແຕ່ລະລັດ P, ຕໍ່ CPU.
- ເວລາທັງໝົດ, ສະເລ່ຍ, ຕໍາ່ສຸດ, ແລະສູງສຸດໃນໄລຍະທີ່ CPU ທັງໝົດຢູ່ໃນກຸ່ມຢູ່ໃນ a
"ຕື້ນສຸດ" (ໃກ້ທີ່ສຸດກັບແລ່ນ) ສະຖານະຂອງ CPU ອົງປະກອບທັງໝົດ.
- ຈໍານວນຄັ້ງທີ່ IRQ ສະເພາະໃດຫນຶ່ງເຮັດໃຫ້ CPU ອອກຈາກລັດບໍ່ໄດ້ເຮັດວຽກ, ຕໍ່ CPU ແລະຕໍ່ IRQ
OPTIONS
-- ຕິດຕາມ
ດໍາເນີນການ idlestat ໃນໂຫມດການຕິດຕາມ, ດັ່ງທີ່ໄດ້ກ່າວໄວ້ຂ້າງເທິງ, ສິດທິຂອງຮາກແມ່ນຈໍາເປັນ. ໃຊ້ກັບ -t
ແລະ -f ເພື່ອລະບຸໄລຍະເວລາແລ່ນ ແລະຕິດຕາມຊື່ໄຟລ໌ຜົນຜະລິດ, ຕາມລໍາດັບ.
--ການນໍາເຂົ້າ
ດໍາເນີນການ idlestat ໃນໂຫມດການລາຍງານ. ໃຊ້ກັບ -f ເພື່ອລະບຸໄຟລ໌ການຕິດຕາມທີ່ຈະນໍາເຂົ້າ.
-f, --trace-file ຊື່ເອກະສານ
ລະບຸຊື່ໄຟລ໌ການຕິດຕາມເພື່ອສ້າງ (ສໍາລັບ -- ຕິດຕາມ) ຫຼືອ່ານ (ສໍາລັບ --ການນໍາເຂົ້າ).
-t, --ໄລຍະເວລາ ວິນາທີ
ເວລາທີ່ຈະບັນທຶກເປັນວິນາທີ
[ຄໍາສັ່ງ]
ຖ້າອາກິວເມັນຄໍາສັ່ງຖືກມອບໃຫ້, idlestat ຈະ fork ເດັກເພື່ອດໍາເນີນການຄໍາສັ່ງດັ່ງນັ້ນ
ທີ່ທ່ານສາມາດບັນທຶກສະຖານະທີ່ກ່ຽວຂ້ອງໃນເວລາທີ່ຄໍາສັ່ງກໍາລັງເຮັດວຽກ. ໃຫ້ສັງເກດວ່າຖ້າຫາກວ່າ
ຄໍາສັ່ງແລ່ນບໍ່ໄດ້ສິ້ນສຸດກ່ອນເວລາທີ່ກໍານົດໂດຍ -t, idlestat ຈະ
ສົ່ງ SIGTERM ໄປຫາຂະບວນການເດັກເພື່ອຂໍໃຫ້ມັນຢຸດເຊົາ. ຖ້າຄໍາສັ່ງທີ່ຈະດໍາເນີນການ
ໃຊ້ເວລາຫນ້ອຍກວ່າເວລາທີ່ກໍານົດໄວ້ໂດຍ -t, idlestat ຈະຢຸດເຊົາຫຼັງຈາກຄໍາສັ່ງ
ສຳ ເລັດຮູບ.
ເມື່ອບໍ່ມີຄໍາສັ່ງ, idlestat ຕິດຕາມການຈັບພາບແລະການເຮັດວຽກອື່ນໆຢ່າງມີຄວາມຮັບຜິດຊອບ.
-b, --baseline_trace baseline_filename
ລະບຸຊື່ໄຟລ໌ພື້ນຖານສໍາລັບການປຽບທຽບການຕິດຕາມ. ເບິ່ງ COMPARISON ແລະ ຕົວຢ່າງ ສໍາລັບການ
ຂໍ້ມູນເພີ່ມເຕີມ
-c, --ບໍ່ເຮັດວຽກ
ສະແດງ idle, C-state ໃນຄໍາສັບ ACPI, ສະຖິຕິ. ນີ້ແມ່ນໂໝດເລີ່ມຕົ້ນຖ້າບໍ່ຄືກັນ -w
neither -p ຖືກກໍານົດ. ໃຫ້ສັງເກດວ່າ -w, -c, ແລະ -p ບໍ່ແມ່ນສະເພາະ, ນັ້ນແມ່ນ, ທ່ານສາມາດເລືອກໄດ້
ການປະສົມປະສານຂອງສາມຢ່າງໃດກໍ່ຕາມ.
-e, --energy-model-file energy_model
ລະບຸໄຟລ໌ຕົວແບບພະລັງງານ. ເບິ່ງ ENERGY MODEL ສໍາລັບຄໍາອະທິບາຍຂອງໄຟລ໌ພະລັງງານ
ຮູບແບບ.
-h, - ຊ່ວຍ, -?
ພິມຂໍ້ຄວາມຊ່ວຍເຫຼືອງ່າຍໆ.
-o, --output-file ຊື່ເອກະສານ
ລະບຸຊື່ໄຟລ໌ເພື່ອສະຖິຕິຜົນຜະລິດ. ຖ້າບໍ່ໄດ້ລະບຸ, ສະຖິຕິແມ່ນ
ພິມອອກເປັນ stdout.
-p, --ຄວາມຖີ່
ສະແດງສະຖິຕິ cpufreq (ຫຼືເວົ້າວ່າ P-state).
-r, --report-format
ລະບຸຮູບແບບບົດລາຍງານ. ປະເພດທີ່ຖືກຕ້ອງແມ່ນ: ຄ່າເລີ່ມຕົ້ນ, ບໍ່ມີກ່ອງ, csv, ແລະການປຽບທຽບ.
-v, -- verbose
ລະບຸລະດັບ verbosity. ຕົວເລືອກນີ້ສາມາດຖືກລະບຸຫຼາຍຄັ້ງ. ແຕ່ລະ
ສໍາເນົາທາງເລືອກເພີ່ມລະດັບ verbosity ໂດຍຫນຶ່ງ, ໃນປັດຈຸບັນທີ່ສູງທີ່ສຸດ
ລະດັບ verbosity ທີ່ໃຊ້ສໍາລັບຂໍ້ຄວາມໃດນຶ່ງແມ່ນ 2.
-w, --ຕື່ນ
ສະແດງສະຖິຕິການປຸກ.
-B, --boxless
ກໍານົດຮູບແບບບົດລາຍງານເປັນ boxless
-C, --csv
ຕັ້ງຮູບແບບລາຍງານເປັນຄ່າທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ (CSV)
- ຂ້ອຍ, --ໄລຍະການສຳຫຼວດ
ກຳນົດໄລຍະການສຳຫຼວດ kernel, ເຊິ່ງຖືກໃຊ້ເພື່ອກຳນົດວ່າມັນແມ່ນເວລາທີ່ຈະຍ້າຍຂໍ້ມູນຈາກ
kernel FTRACE buffer ໄປບ່ອນອື່ນ.
-S, --buffer-size
ກໍານົດຂະຫນາດ buffer kernel FTRACE ເພື່ອໃຊ້.
-V, - ການປ່ຽນແປງ
ສະແດງຂໍ້ມູນເວີຊັນ idlestat ແລະອອກ.
COMPARISON
ບົດລາຍງານການປຽບທຽບຖືກນໍາໃຊ້ເພື່ອປຽບທຽບການປ່ຽນແປງລະຫວ່າງການຕິດຕາມການເຄື່ອນໄຫວ (ລະບຸໂດຍ
-f,--trace-file) ແລະການຕິດຕາມພື້ນຖານ. ມັນກາຍເປັນການເຄື່ອນໄຫວໂດຍການສະຫນອງການຕິດຕາມພື້ນຖານ
(-b,--baseline_trace) ແລະກໍານົດຮູບແບບບົດລາຍງານການປຽບທຽບກັບ "-r ການປຽບທຽບ".
ENERGY MODEL
ຕໍ່ໄປນີ້ອະທິບາຍຮູບແບບຂອງໄຟລ໌ຕົວແບບພະລັງງານ idlestat (ໂດຍໃຊ້ຕົວແບບລວມ
ໄຟລ໌ energy_model ເປັນຕົວຢ່າງ):
ແຖວທີ່ເລີ່ມຕົ້ນດ້ວຍ # ຫຼືອັນໃດຫວ່າງບໍ່ຖືກລະເລີຍ.
ກ່ອນອື່ນ, ໃຫ້ລະບຸວ່າມີຈັກກຸ່ມ.
ກຸ່ມ 1
ສໍາລັບແຕ່ລະກຸ່ມ (ຊື່ clusterA, clusterB, ແລະອື່ນໆ) ລະບຸວ່າມີຈັກ cap states ແລະ C states
ມີ. Idlestat ຈະກວດເບິ່ງວ່າມີຈໍານວນກຸ່ມທີ່ຖືກຕ້ອງຖືກສະໜອງໃຫ້.
#
clusterA: 16 cap states 5 C states
ຫຼັງຈາກນັ້ນ, ລະບຸຊື່, ພະລັງງານຂອງກຸ່ມແລະພະລັງງານຫຼັກສໍາລັບແຕ່ລະ P-state (idlestat ຈະກວດສອບ
ຖ້າມີຈໍານວນທີ່ຖືກຕ້ອງຂອງ P-states ສະຫນອງໃຫ້) ໃນກຸ່ມ.
P-ລັດ:
# ຄວາມໄວ, ພະລັງງານກຸ່ມ, ພະລັງງານຫຼັກ
+2901 6200 3200
+2900 6190 3190
+2800 6180 3180
+2700 6170 3170
+2500 6160 3160
+2400 6150 3150
+2300 6140 3140
+2200 6130 3130
+2000 6120 3120
+1900 6110 3110
+1800 6100 3100
+1700 6090 3090
+1600 6080 3080
+1400 6070 3070
+1300 6060 3060
+1200 6050 3050
ຫຼັງຈາກນັ້ນ, ລະບຸຊື່, ພະລັງງານຂອງກຸ່ມແລະພະລັງງານຫຼັກສໍາລັບແຕ່ລະ C-state (idlestat ຈະກວດສອບ
ຖ້າມີຈໍານວນທີ່ຖືກຕ້ອງຂອງ C-states ສະຫນອງໃຫ້) ໃນກຸ່ມ.
C-ລັດ:
C1-IVB 25 0
C1E-IVB 30 0
C3-IVB 35 0
C6-IVB 40 0
C7-IVB 35 0
ສຸດທ້າຍ, ລະບຸພະລັງງານ wakeup.
ຕື່ນ 210 6
ເຮັດຊ້ຳສຳລັບແຕ່ລະກຸ່ມ.
TRACE ເອກະສານ ຮູບແບບ
Idlestat ມີຮູບແບບໄຟລ໌ການຕິດຕາມຂອງຕົນເອງ, ເຊິ່ງອີງໃສ່ຮູບແບບຂອງ ftrace (ເບິ່ງ
Documentation/trace/ftrace.txt ໃນແຫຼ່ງ kernel). ນອກເໜືອໄປຈາກລາຍການ FTRACE ມາດຕະຖານ,
idlestat ເພີ່ມ topology CPU, ຂໍ້ມູນ C-state, ແລະບາງລາຍການ P-State ປອມ.
Idlestat ຍັງສາມາດນໍາເຂົ້າຮູບແບບ FTRACE ມາດຕະຖານແລະຮູບແບບ "trace-cmd report" ໄດ້. ໃຫ້ສັງເກດວ່າ
ເນື່ອງຈາກບໍ່ມີຂໍ້ມູນ topology CPU ແລະ C-state ໃນ FTRACE ຫຼື trace-cmd trace files,
ພວກມັນຄວນຈະຖືກໃຊ້ໃນເຄື່ອງຈັກທີ່ຮ່ອງຮອຍເຫຼົ່ານັ້ນຖືກຈັບ.
ລາຍວຽກ ຮູບແບບ
ໃນປັດຈຸບັນ, idlestat ສະຫນັບສະຫນູນສີ່ຮູບແບບບົດລາຍງານ: ຄ່າເລີ່ມຕົ້ນ, boxless, csv, ແລະການປຽບທຽບ.
1. ຄ່າເລີ່ມຕົ້ນ: ສະແດງຕາຕະລາງສະຖິຕິຂອງລັດ C-state, P-State, ແລະ IRQ ຖ້າກົງກັນ -c,
-p, ແລະ -w ຕົວເລືອກເສັ້ນຄໍາສັ່ງຖືກຕັ້ງ. ຕາຕະລາງມາພ້ອມກັບ - ແລະ | ເປັນເຂດແດນ.
2. boxless: ມັນເປັນຄ່າເລີ່ມຕົ້ນໂດຍບໍ່ມີການ - ແລະ | ເປັນຂອບເຂດຕາຕະລາງ. ນີ້ແມ່ນພາສາ Braille ຫຼາຍກວ່າ
terminal ເປັນມິດກັບຄ່າເລີ່ມຕົ້ນ
3. csv: ຄ່າທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ. ນີ້ແມ່ນງ່າຍຕໍ່ການປະມວນຜົນດ້ວຍພາສາສະຄິບ, ເຊັ່ນ
ເປັນ awk ແລະ perl. ນອກຈາກນັ້ນ, ມັນງ່າຍທີ່ຈະປະມວນຜົນດ້ວຍຊອບແວສະເປຣດຊີດ.
4. ການປຽບທຽບ: ນີ້ແມ່ນຄ້າຍຄືກັນກັບຮູບແບບບົດລາຍງານໃນຕອນຕົ້ນ, ຍົກເວັ້ນວ່າມັນສະແດງການປ່ຽນແປງ
ໃນການຕິດຕາມການເຄື່ອນໄຫວທຽບກັບການຕິດຕາມພື້ນຖານ. ມັນກາຍເປັນການເຄື່ອນໄຫວໂດຍການສະຫນອງ a
baseline trace (--baseline) ແລະລະບຸຮູບແບບການລາຍງານການປຽບທຽບດ້ວຍ "-r
ການປຽບທຽບ".
ຕົວຢ່າງ
ສົມມຸດວ່າ idlestat binary ຢູ່ໃນ PATH ຂອງທ່ານ.
1. ດໍາເນີນການຕິດຕາມ, ຜົນໄດ້ຮັບພາຍຫຼັງຂະບວນການ (ຄ່າເລີ່ມຕົ້ນແມ່ນສະແດງສະຖິຕິ C-state ເທົ່ານັ້ນ):
sudo idlestat --trace -f /tmp/mytrace -t 10
2. ດໍາເນີນການຕາມຮອຍ, ຫຼັງການປະມວນຜົນຜົນໄດ້ຮັບ ແລະພິມສະຖິຕິທັງໝົດ:
sudo idlestat --trace -f /tmp/mytrace -t 10 -p -c -w
3. ດໍາເນີນການຕາມຮອຍກັບວຽກພາຍນອກ, ຫຼັງຈາກຂະບວນການຜົນໄດ້ຮັບ:
sudo idlestat --trace -f /tmp/mytrace -t 10 -p -c -w -- rt-app /tmp/mp3.json
4. ຫຼັງການປະມວນຜົນຕາມຮອຍທີ່ຖືກຈັບກ່ອນໜ້ານີ້:
idlestat --ນໍາເຂົ້າ -f /tmp/mytrace
5. ດໍາເນີນການຕາມຮອຍ, ຫຼັງຈາກຂະບວນການຜົນໄດ້ຮັບແລະພິມສະຖິຕິທັງຫມົດເຂົ້າໄປໃນໄຟລ໌:
sudo idlestat --trace -f /tmp/mytrace -t 10 -p -c -w -o /tmp/myreport
6. ດໍາເນີນການຕິດຕາມການປຽບທຽບ, ເວົ້າວ່າ, ກ່ອນແລະຫຼັງຈາກການປ່ຽນແປງພຶດຕິກໍາຂອງລະບົບ
sudo idlestat --trace -f /tmp/baseline -t 10
sudo idlestat --trace -f /tmp/changedstate -t 10
idlestat --import -f /tmp/changedstate -b /tmp/baseline -r ການປຽບທຽບ
ຂອບເຂດ ຈຳ ກັດ
ໃນລະຫວ່າງການໄດ້ມາ, idlestat ພະຍາຍາມຢູ່ຢ່າງງຽບໆເພື່ອປ້ອງກັນການລົບກວນຮ່ອງຮອຍ.
ສໍາລັບເຫດຜົນນີ້, ຮ່ອງຮອຍໄດ້ຖືກ buffered ໃນຂະຫນາດ buffer ຄົງທີ່. ຖ້າຫາກວ່າໄລຍະເວລາຂອງ
ການຊື້ມາເຮັດໃຫ້ຮ່ອງຮອຍຫຼາຍກ່ວາສິ່ງທີ່ buffer ສາມາດເກັບຮັກສາໄດ້, ທີ່ຈະ
ສົ່ງຜົນໃຫ້ຜົນໄດ້ຮັບທີ່ຖືກຕັດອອກ.
ໃຊ້ idlestat ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net