CPUTool - ຈຳ ກັດແລະຄວບຄຸມການ ນຳ ໃຊ້ CPU ຂອງທຸກໆຂັ້ນຕອນໃນ Linux


ໜຶ່ງ ໃນພື້ນທີ່ ສຳ ຄັນທີ່ຢູ່ພາຍໃຕ້ເຄື່ອງມືຕິດຕາມກວດກາການເຮັດວຽກຂອງ Linux ເພື່ອຕິດຕາມເບິ່ງວິທີການຕ່າງໆ ກຳ ລັງເປີດເຜີຍໃນລະບົບ.

ເຄື່ອງມື ຈຳ ນວນ ໜຶ່ງ ເຫຼົ່ານີ້ສະແດງໃຫ້ເຫັນສະຖານະພາບ/ສະຖິຕິຂອງລະບົບໃນຂະນະທີ່ອີກສອງສາມເຄື່ອງມືໃຫ້ທ່ານໃນການຈັດການປະສິດຕິພາບຂອງລະບົບ. ໜຶ່ງ ເຄື່ອງມືດັ່ງກ່າວເອີ້ນວ່າ CPUTool.

CPUTool ແມ່ນເຄື່ອງມືເສັ້ນ ຄຳ ສັ່ງທີ່ລຽບງ່າຍແຕ່ມີປະສິດທິພາບສູງ ສຳ ລັບການ ຈຳ ກັດແລະຄວບຄຸມການ ນຳ ໃຊ້ CPU ຂອງຂະບວນການໃດ ໜຶ່ງ ໃນຂອບເຂດທີ່ ກຳ ນົດໄວ້ແລະອະນຸຍາດໃຫ້ມີການຂັດຂວາງການປະຕິບັດຂັ້ນຕອນຖ້າການໂຫຼດລະບົບເກີນຂອບເຂດທີ່ໄດ້ ກຳ ນົດໄວ້.

ເພື່ອ ຈຳ ກັດການ ນຳ ໃຊ້ CPU, cputool ຈະສົ່ງສັນຍານ SIGSTOP ແລະ SIGCONT ໃຫ້ກັບຂະບວນການແລະສິ່ງນີ້ຖືກ ກຳ ນົດໂດຍການໂຫຼດລະບົບ. ມັນຂື້ນກັບລະບົບ/proc pseudo-filesystem ເພື່ອອ່ານ PIDs ແລະມາດຕະການ ນຳ ໃຊ້ CPU ຂອງພວກມັນ.

ມັນອາດຈະຖືກ ນຳ ໃຊ້ເພື່ອ ຈຳ ກັດການ ນຳ ໃຊ້ CPU ຫຼືລະບົບການໂຫຼດຂອງລະບົບທີ່ມີອິດທິພົນຈາກຂະບວນການດຽວຫລືກຸ່ມຂອງຂະບວນການໃນຂອບເຂດທີ່ ກຳ ນົດໄວ້ແລະ/ຫລືລະງັບຂະບວນການຖ້າການໂຫຼດຂອງລະບົບໄປເກີນຂອບເຂດ.

ຕິດຕັ້ງ CPUTool ເພື່ອ ຈຳ ກັດການ ນຳ ໃຊ້ CPU ແລະການໂຫຼດໂດຍສະເລ່ຍ

CPUTool ມີພຽງແຕ່ຕິດຕັ້ງຢູ່ໃນ Debian/Ubuntu ແລະອະນຸພັນຂອງມັນຈາກຫໍສະມຸດຂອງລະບົບເລີ່ມຕົ້ນໂດຍໃຊ້ເຄື່ອງມືຄຸ້ມຄອງຊຸດ.

$ sudo apt install cputool

ຕອນນີ້ໃຫ້ເບິ່ງວ່າ cputool ເຮັດວຽກໄດ້ແນວໃດ. ເພື່ອສະແດງໃຫ້ເຫັນມັນທັງ ໝົດ, ພວກເຮົາຈະໃຊ້ ຄຳ ສັ່ງ dd ເຊິ່ງຄວນສົ່ງຜົນໃຫ້ເປັນ CPU ສູງ, ໃນພື້ນຫລັງແລະສະແດງ PID ຂອງມັນ.

# dd if=/dev/zero of=/dev/null &

ເພື່ອຕິດຕາມກວດກາການ ນຳ ໃຊ້ CPU ພວກເຮົາສາມາດໃຊ້ເຄື່ອງມືເບິ່ງທີ່ຊ່ວຍໃຫ້ພວກເຮົາເບິ່ງສະພາບການປັບປຸງ ໃໝ່ ໃນເວລາທີ່ແທ້ຈິງເປັນປົກກະຕິຂອງລະບົບ Linux ທີ່ ກຳ ລັງເຮັດວຽກຢູ່:

# top

ຈາກຜົນໄດ້ຮັບຂ້າງເທິງ, ພວກເຮົາສາມາດເຫັນໄດ້ວ່າ ຄຳ ສັ່ງ dd ແມ່ນມີອັດຕາສ່ວນສູງສຸດຂອງເວລາ CPU 99,7%) ຕອນນີ້ພວກເຮົາສາມາດ ຈຳ ກັດສິ່ງນີ້ໂດຍໃຊ້ cputool ດັ່ງທີ່ສະແດງຢູ່ຂ້າງລຸ່ມ.

ທຸງ - ຂີດ ຈຳ ກັດ ຫຼື -c ຖືກ ນຳ ໃຊ້ເພື່ອ ກຳ ນົດອັດຕາສ່ວນການ ນຳ ໃຊ້ ສຳ ລັບຂັ້ນຕອນຫຼືກຸ່ມຂອງຂະບວນການແລະ -p ເພື່ອ ກຳ ນົດ PID. ຄຳ ສັ່ງຕໍ່ໄປນີ້ຈະ ຈຳ ກັດ ຄຳ ສັ່ງ dd (PID 8275) ເຖິງ 50% ການ ນຳ ໃຊ້ CPU ຫຼັກ ໜຶ່ງ:

# cputool --cpu-limit 50 -p 8275 

ຫຼັງຈາກທີ່ແລ່ນ cputool, ພວກເຮົາສາມາດກວດສອບການ ນຳ ໃຊ້ CPU ໃໝ່ ສຳ ລັບຂັ້ນຕອນ (PID 8275) ອີກຄັ້ງ. ດຽວນີ້ການໃຊ້ CPU ສຳ ລັບຂະບວນການ dd ຄວນຕັ້ງແຕ່ (49.0% -52.0%).

# top

ເພື່ອ ຈຳ ກັດການ ນຳ ໃຊ້ CPU ຂອງ dd ໃຫ້ຢູ່ໃນລະດັບ 20%, ພວກເຮົາສາມາດໃຊ້ cputool ເປັນຄັ້ງທີສອງ:

# cputool --cpu-limit 20 -p 8275 

ຫຼັງຈາກນັ້ນ, ໃຫ້ກວດເບິ່ງໂດຍໃຊ້ເຄື່ອງມືເຊັ່ນ: ສາຍຕາແບບນີ້ທັນທີ (ການໃຊ້ CPU ສຳ ລັບວັນນີ້ຄວນຕັ້ງແຕ່ 19.0% -22.0% ຫຼືເລັກນ້ອຍເກີນກວ່ານີ້):

# top

ໃຫ້ສັງເກດວ່າຫອຍບໍ່ຄາດຫວັງວ່າການປ້ອນຂໍ້ມູນຂອງຜູ້ໃຊ້ໃດໆໃນຂະນະທີ່ cputool ກຳ ລັງແລ່ນຢູ່; ເພາະສະນັ້ນຈຶ່ງກາຍເປັນການຕອບຮັບ. ເພື່ອຂ້າມັນ (ນີ້ຈະຢຸດການ ດຳ ເນີນງານຂໍ້ ຈຳ ກັດການ ນຳ ໃຊ້ CPU), ກົດປຸ່ມ Ctrl + C .

ສິ່ງທີ່ ສຳ ຄັນ, ເພື່ອ ກຳ ນົດກຸ່ມຂະບວນການ (ໂປຣແກຣມ ໜຶ່ງ ທີ່ມີຫລາຍໆຕົວຢ່າງທີ່ເຮັດວຽກແຕ່ລະອັນທີ່ມີ PID ທີ່ແຕກຕ່າງກັນ) ສຳ ລັບຕົວຢ່າງ HTTP server:

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

ໃຊ້ທຸງ -P ຄືດັ່ງນີ້:

# cputool --cpu-limit 20 -P 1780

ຕົວເລືອກ -l ຖືກໃຊ້ເພື່ອ ກຳ ນົດການໂຫຼດສູງສຸດທີ່ລະບົບອາດຈະໄປເຖິງແມ່ນວ່າ ສຳ ລັບຂັ້ນຕອນຫຼືກຸ່ມຂັ້ນຕອນທີ່ຈະ ດຳ ເນີນການຕໍ່ໄປ. ພວກເຮົາອາດຈະ ນຳ ໃຊ້ມູນຄ່າສ່ວນ ໜຶ່ງ (ຕົວຢ່າງ 2.5).

ຕົວຢ່າງຂ້າງລຸ່ມນີ້ ໝາຍ ຄວາມວ່າໃຊ້ rsync ສຳ ລັບການ ສຳ ຮອງໃນທ້ອງຖິ່ນເທົ່ານັ້ນເມື່ອການໂຫຼດຂອງລະບົບບໍ່ເກີນ 3.5:

# cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/

ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມແລະການ ນຳ ໃຊ້, ເບິ່ງ ໜ້າ ຜູ້ຊາຍ CPUTool:

# man cputool

ກວດເບິ່ງ ຄຳ ແນະ ນຳ ທີ່ມີປະໂຫຍດຕໍ່ໄປນີ້ ສຳ ລັບການຊອກຫາຂໍ້ມູນ CPU ແລະການກວດສອບການເຮັດວຽກຂອງ CPU:

<

  • 9 ຄຳ ສັ່ງທີ່ມີປະໂຫຍດເພື່ອໃຫ້ໄດ້ຂໍ້ມູນ CPU ໃນ Linux
  • Cpustat - ຕິດຕາມກວດກາການ ນຳ ໃຊ້ CPU ໂດຍການ ດຳ ເນີນຂັ້ນຕອນໃນ Linux
  • CoreFreq - ເຄື່ອງມືກວດສອບ CPU ທີ່ມີປະສິດທິພາບ ສຳ ລັບລະບົບ Linux
  • ຊອກຫາຂັ້ນຕອນການແລ່ນທີ່ສຸດໂດຍຄວາມຊົງ ຈຳ ສູງສຸດແລະການ ນຳ ໃຊ້ CPU ໃນ Linux
  • ສະຫລຸບລວມແລ້ວ, CPUTool ມາໃຊ້ໄດ້ງ່າຍ ສຳ ລັບການບໍລິຫານຈັດການກັບ Linux. ຢ່າແບ່ງປັນຄວາມຄິດຂອງທ່ານກ່ຽວກັບບົດຂຽນນີ້ຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.