ວິທີການ ກຳ ນົດບູລິມະສິດຂອງຂະບວນການ Linux ໂດຍໃຊ້ ຄຳ ສັ່ງທີ່ງາມແລະມີຊື່ສຽງ


ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍໂດຍຫຍໍ້ກ່ຽວກັບຕາຕະລາງ ກຳ ນົດເວລາຂອງ kernel (ເຊິ່ງເອີ້ນກັນວ່າຜູ້ ກຳ ນົດຂັ້ນຕອນ) ແລະບູລິມະສິດຂອງຂະບວນການ, ເຊິ່ງແມ່ນຫົວຂໍ້ທີ່ເກີນຂອບເຂດຂອງຄູ່ມືນີ້. ຫຼັງຈາກນັ້ນພວກເຮົາຈະເຂົ້າໄປໃນການຄຸ້ມຄອງຂະບວນການ Linux ເລັກໆນ້ອຍໆ: ເບິ່ງວິທີການ ດຳ ເນີນງານໂປແກຼມຫລື ຄຳ ສັ່ງທີ່ມີບູລິມະສິດທີ່ຖືກແກ້ໄຂແລ້ວແລະຍັງປ່ຽນບູລິມະສິດໃນການເຮັດວຽກຂອງ Linux ໃນການເຮັດວຽກ ນຳ ອີກ.

ອ່ານອີກ: ວິທີການກວດສອບຂັ້ນຕອນຂອງ Linux ແລະ ກຳ ນົດຂີດ ຈຳ ກັດຂອງຂະບວນການໃນພື້ນຖານຕໍ່ຜູ້ໃຊ້

ຜູ້ ກຳ ນົດເວລາຂອງ kernel ແມ່ນ ໜ່ວຍ ໜຶ່ງ ຂອງແກ່ນແກ່ນທີ່ ກຳ ນົດຂະບວນການທີ່ ເໝາະ ສົມທີ່ສຸດຈາກຂະບວນການທີ່ແລ່ນໄດ້ທັງ ໝົດ ເພື່ອ ດຳ ເນີນການຕໍ່ໄປ; ມັນຈັດສັນເວລາຂອງຜູ້ປະມວນຜົນລະຫວ່າງຂະບວນການທີ່ໃຊ້ໄດ້ໃນລະບົບ. ຂັ້ນຕອນທີ່ເຮັດວຽກໄດ້ແມ່ນຂັ້ນຕອນ ໜຶ່ງ ທີ່ລໍຖ້າເວລາ CPU ເທົ່ານັ້ນ, ມັນພ້ອມແລ້ວທີ່ຈະປະຕິບັດ.

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

ແກ່ນເກັບຂໍ້ມູນຢ່າງຫຼວງຫຼາຍກ່ຽວກັບຂະບວນການລວມທັງບູລິມະສິດຂອງຂະບວນການເຊິ່ງເປັນສິ່ງບູລິມະສິດການຈັດຕາຕະລາງຕິດກັບຂະບວນການ ໜຶ່ງ. ຂະບວນການທີ່ມີບູລິມະສິດສູງກວ່າຈະຖືກ ດຳ ເນີນການກ່ອນຜູ້ທີ່ມີບູລິມະສິດຕ່ ຳ, ໃນຂະນະທີ່ຂະບວນການທີ່ມີບູລິມະສິດດຽວກັນຖືກ ກຳ ນົດໃຫ້ເປັນ ໜຶ່ງ ຫຼັງຕໍ່ໄປ, ຊ້ ຳ ອີກ.

ມັນມີທັງ ໝົດ 140 ບູລິມະສິດແລະສອງລະດັບບຸລິມະສິດທີ່ແຕກຕ່າງກັນທີ່ຈັດຕັ້ງປະຕິບັດໃນ Linux. ໂຕ ທຳ ອິດແມ່ນຄຸນຄ່າທີ່ດີ (ງາມ) ເຊິ່ງຕັ້ງແຕ່ -20 (ມູນຄ່າບູລິມະສິດສູງສຸດ) ເຖິງ 19 (ມູນຄ່າບູລິມະສິດຕໍ່າສຸດ) ແລະຄ່າເລີ່ມຕົ້ນແມ່ນ 0 , ນີ້ແມ່ນສິ່ງທີ່ພວກເຮົາຈະເປີດເຜີຍໃນຄູ່ມືນີ້. ອີກອັນ ໜຶ່ງ ແມ່ນບູລິມະສິດໃນເວລາຈິງ, ເຊິ່ງຕັ້ງແຕ່ 1 ເຖິງ 99 ໂດຍຄ່າເລີ່ມຕົ້ນ, ຫຼັງຈາກນັ້ນ 100 ເຖິງ 139 ແມ່ນມີຄວາມ ໝາຍ ສຳ ລັບພື້ນທີ່ຜູ້ໃຊ້.

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

ວິທີການກວດສອບຄຸນຄ່າທີ່ດີຂອງຂະບວນການ Linux

ເພື່ອເບິ່ງຄຸນຄ່າທີ່ດີຂອງຂະບວນການ, ພວກເຮົາສາມາດ ນຳ ໃຊ້ສິ່ງ ອຳ ນວຍຄວາມສະດວກຕ່າງໆເຊັ່ນ htop.

ເພື່ອເບິ່ງຂະບວນການທີ່ມີຄຸນຄ່າທີ່ດີພ້ອມດ້ວຍ ຄຳ ສັ່ງ ps ໃນຮູບແບບທີ່ ກຳ ນົດໂດຍຜູ້ໃຊ້ (ທີ່ນີ້ <ຖັນ> NI ຖັນສະແດງເຖິງຄວາມງາມຂອງຂະບວນການ).

$ ps -eo pid,ppid,ni,comm

ອີກທາງເລືອກ ໜຶ່ງ, ທ່ານສາມາດ ນຳ ໃຊ້ອຸປະກອນດ້ານເທິງຫລື htop ເພື່ອເບິ່ງ Linux ປະມວນຜົນຄຸນຄ່າທີ່ດີດັ່ງທີ່ສະແດງໄວ້

$ top
$ htop

ຈາກຜົນໄດ້ຮັບດ້ານເທິງແລະ htop ຂ້າງເທິງ, ທ່ານຈະສັງເກດເຫັນວ່າມີຖັນທີ່ເອີ້ນວ່າ PR ແລະ PRI ທີ່ຍອມຮັບເຊິ່ງສະແດງຄວາມ ສຳ ຄັນຂອງຂັ້ນຕອນ.

ນີ້, ເພາະສະນັ້ນ, ໝາຍ ຄວາມວ່າ:

  • NI - ແມ່ນຄຸນຄ່າທີ່ດີ, ເຊິ່ງແມ່ນແນວຄິດພື້ນທີ່ຂອງຜູ້ໃຊ້, ໃນຂະນະທີ່
  • PR ຫຼື PRI ແມ່ນບູລິມະສິດຕົວຈິງຂອງຂະບວນການ, ດັ່ງທີ່ເຫັນໃນແກ່ນ Linux.

Total number of priorities = 140
Real time priority range(PR or PRI):  0 to 99 
User space priority range: 100 to 139

ລະດັບຄຸນຄ່າທີ່ດີ (NI): -20 ເຖິງ 19

PR = 20 + NI
PR = 20 + (-20 to + 19)
PR = 20 + -20  to 20 + 19
PR = 0 to 39 which is same as 100 to 139.

ແຕ່ຖ້າທ່ານເຫັນລະຫັດ rt ແທນທີ່ຈະເປັນຕົວເລກທີ່ສະແດງຢູ່ໃນພາບ ໜ້າ ຈໍຂ້າງລຸ່ມ, ມັນ ໝາຍ ຄວາມວ່າຂັ້ນຕອນນີ້ ກຳ ລັງ ດຳ ເນີນຢູ່ພາຍໃຕ້ບູລິມະສິດການຈັດຕາຕະລາງເວລາທີ່ແທ້ຈິງ.

ວິທີການ ດຳ ເນີນງານ ຄຳ ສັ່ງດ້ວຍຄ່າທີ່ດີໃນ Linux

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

syntax ແມ່ນດັ່ງຕໍ່ໄປນີ້:

$ nice -n niceness-value [command args] 
OR
$ nice -niceness-value [command args] 	#it’s confusing for negative values
OR
$ nice --adjustment=niceness-value [command args]

ສິ່ງ ສຳ ຄັນ:

  • ຖ້າບໍ່ມີຄຸນຄ່າໃດໆ, ກໍ່ໃຫ້ບຸລິມະສິດ 10 ອັນດັບເປັນຄ່າເລີ່ມຕົ້ນ.
  • ຄຳ ສັ່ງຫຼືໂປແກຼມທີ່ໃຊ້ໂດຍບໍ່ມີຄ່າເລີ່ມຕົ້ນເປັນສິ່ງ ສຳ ຄັນກ່ອນສູນ.
  • ພຽງແຕ່ຮາກເທົ່ານັ້ນສາມາດເອີ້ນໃຊ້ ຄຳ ສັ່ງຫຼືໂປແກຼມທີ່ມີບູລິມະສິດສູງຂື້ນຫຼືສູງ.
  • ຜູ້ໃຊ້ປົກກະຕິສາມາດ ດຳ ເນີນການ ຄຳ ສັ່ງຫຼືໂປແກຼມທີ່ມີບູລິມະສິດຕ່ ຳ.

ຍົກຕົວຢ່າງ, ແທນທີ່ຈະເລີ່ມຕົ້ນໂປຣແກຣມຫລື ຄຳ ສັ່ງທີ່ມີບູລິມະສິດທີ່ບໍ່ຖືກຕ້ອງ, ທ່ານສາມາດເລີ່ມຕົ້ນມັນດ້ວຍບູລິມະສິດສະເພາະໂດຍໃຊ້ ຄຳ ສັ່ງທີ່ງາມ.

$ sudo nice -n 5 tar -czf backup.tar.gz ./Documents/*
OR
$ sudo nice --adjustment=5 tar -czf backup.tar.gz ./Documents/*

ທ່ານຍັງສາມາດໃຊ້ວິທີທີສາມເຊິ່ງສັບສົນເລັກ ໜ້ອຍ ໂດຍສະເພາະ ສຳ ລັບຄຸນຄ່າທາງລົບທີ່ບໍ່ດີ.

$ sudo nice -5 tar -czf backup.tar.gz  ./Documents/*

ປ່ຽນບູລິມະສິດການ ກຳ ນົດເວລາຂອງຂັ້ນຕອນໃນ Linux

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

$ renice -n  -12  -p 1055
$ renice -n -2  -u apache

ຈາກຜົນໄດ້ຮັບດ້ານເທິງຂອງຕົວຢ່າງຂ້າງລຸ່ມນີ້, ຄວາມງາມຂອງ teampe + ກັບ PID 1055 ດຽວນີ້ແມ່ນ -12 ແລະ ສຳ ລັບຂະບວນການທັງ ໝົດ ທີ່ເປັນເຈົ້າຂອງໂດຍ apache ຂອງຜູ້ໃຊ້ແມ່ນ -2 .

ຍັງໃຊ້ຜົນໄດ້ຮັບນີ້ຢູ່, ທ່ານສາມາດເຫັນສູດ PR = 20 + NI ຢືນຢູ່,

PR for ts3server = 20 + -12 = 8
PR for apache processes = 20 + -2 = 18

ການປ່ຽນແປງໃດໆທີ່ທ່ານເຮັດດ້ວຍ ຄຳ ສັ່ງ renice ໃຫ້ແກ່ຂະບວນການຂອງຜູ້ໃຊ້ຄຸນຄ່າທີ່ດີແມ່ນສາມາດໃຊ້ໄດ້ຈົນກ່ວາການເປີດຕົວຄັ້ງຕໍ່ໄປ. ເພື່ອ ກຳ ນົດຄ່າເລີ່ມຕົ້ນແບບຖາວອນ, ໃຫ້ອ່ານພາກຕໍ່ໄປ.

ວິທີການ ກຳ ນົດມູນຄ່າທີ່ດີງາມຂອງຂະບວນການຂອງຜູ້ໃຊ້ສະເພາະ

ທ່ານສາມາດ ກຳ ນົດຄ່າເລີ່ມຕົ້ນທີ່ງາມຂອງຜູ້ໃຊ້ຫລືກຸ່ມໃດ ໜຶ່ງ ໃນເອກະສານ /etc/security/limits.conf. ໜ້າ ທີ່ຫຼັກຂອງມັນແມ່ນການ ກຳ ນົດຂີດ ຈຳ ກັດດ້ານຊັບພະຍາກອນ ສຳ ລັບຜູ້ໃຊ້ທີ່ເຂົ້າໃຊ້ລະບົບຜ່ານ PAM.

syntax ສຳ ລັບ ກຳ ນົດຂີດ ຈຳ ກັດ ສຳ ລັບຜູ້ໃຊ້ແມ່ນດັ່ງຕໍ່ໄປນີ້ (ແລະຄຸນຄ່າທີ່ເປັນໄປໄດ້ຂອງຖັນຕ່າງໆແມ່ນອະທິບາຍຢູ່ໃນແຟ້ມ):

#<domain>   <type>  <item>  <value>

ຕອນນີ້ໃຊ້ syntax ຢູ່ລຸ່ມບ່ອນທີ່ຍາກ - ໝາຍ ເຖິງການບັງຄັບໃຊ້ link ແຂງແລະວິທີທີ່ອ່ອນ - ການບັງຄັບໃຊ້ຂໍ້ ຈຳ ກັດທີ່ອ່ອນ.

<username>  <hard|soft>  priority  <nice value>

ອີກທາງເລືອກ ໜຶ່ງ, ສ້າງແຟ້ມເອກະສານພາຍໃຕ້ /etc/security/limits.d/ ທີ່ລົບລ້າງການຕັ້ງຄ່າໃນແຟ້ມຕົ້ນຕໍຢູ່ຂ້າງເທິງ, ແລະເອກະສານເຫຼົ່ານີ້ແມ່ນອ່ານຕາມ ລຳ ດັບຕົວອັກສອນ.

ເລີ່ມຕົ້ນໂດຍການສ້າງແຟ້ມເອກະສານ /etc/security/limits.d/tecmint-priority.conf ສຳ ລັບຜູ້ໃຊ້ tecmint:

# vi /etc/security/limits.d/tecmint-priority.conf

ຫຼັງຈາກນັ້ນຕື່ມການຕັ້ງຄ່ານີ້ໄວ້ໃນມັນ:

tecmint  hard  priority  10

ບັນທຶກແລະປິດແຟ້ມ. ຈາກນີ້, ທຸກຂະບວນການທີ່ເປັນເຈົ້າຂອງໂດຍ tecmint ຈະມີມູນຄ່າທີ່ດີຂອງ 10 ແລະ PR ຂອງ 30.

ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ອ່ານ ໜ້າ ຜູ້ຊາຍທີ່ງາມແລະມີຊື່ສຽງ:

$ man nice
$ man renice 

ທ່ານອາດຈະຢາກອ່ານບົດຄວາມຕໍ່ໄປນີ້ກ່ຽວກັບການຄຸ້ມຄອງຂັ້ນຕອນຂອງ Linux.

<

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