จำกัด จำกัด การใช้งานที่กระบวนการสร้างขึ้นจาก CPU

เกี่ยวกับ CPULimit

ในบทความหน้าเราจะมาดู CPULimit นี่คือเครื่องมือบรรทัดคำสั่งที่ จำกัด การใช้งาน CPU โดยกระบวนการ (แสดงเป็นเปอร์เซ็นต์ไม่ใช่เวลาของ CPU). สิ่งนี้จะเป็นประโยชน์ในการควบคุมงานแบตช์เมื่อเราไม่ต้องการให้กระบวนการใช้รอบ CPU มากเกินไป

ด้วยการใช้เครื่องมือนี้เราจะไม่เปลี่ยนค่าหรือการตั้งค่าลำดับความสำคัญอื่น ๆ แต่เป็นการใช้งาน CPU จริง นอกจากนี้ยังสามารถปรับให้เข้ากับโหลดทั่วไปของระบบได้แบบไดนามิกและรวดเร็ว การควบคุมปริมาณ CPU ที่ใช้ทำได้โดยการส่ง Señales NEXTSTOP y ซิกคอน POSIX ไปยังกระบวนการ กระบวนการย่อยและเธรดทั้งหมดของกระบวนการที่ระบุจะแชร์เปอร์เซ็นต์ของ CPU เดียวกัน

ติดตั้ง CPULimit

CPULimit คือ มีอยู่ในที่เก็บเริ่มต้นส่วนใหญ่ของการแจกแจงแบบ Unix. เราสามารถติดตั้งได้โดยใช้ตัวจัดการแพ็คเกจเริ่มต้นในการแจกจ่าย Gnu / Linux ตามลำดับ สำหรับตัวอย่างในมือเราจะดูวิธีการติดตั้งบน Debian, Ubuntu และ Linux Mint เราจะต้องเปิดเทอร์มินัลเท่านั้น (Ctrl + Alt + T) และเขียนคำสั่งต่อไปนี้:

sudo apt-get install cpulimit

ใครต้องการปรึกษาสิ่งอำนวยความสะดวกประเภทอื่น ๆ ได้ที่ หน้าโครงการ GitHub.

การใช้ CPULimit

เมื่อติดตั้งเครื่องมือแล้วก็ถึงเวลาดูวิธีการทำงาน ในการทำเช่นนี้เราจะเรียกใช้โปรแกรมที่ใช้ทรัพยากร CPU เป็นจำนวนมาก ต้องรันคำสั่งต่อไปนี้ในฐานะผู้ใช้รูท

การสร้างสคริปต์ที่ใช้ทรัพยากร CPU

ก่อนอื่นเราจะไป สร้างไฟล์ชื่อ derrochecpu.sh. ฉันจะใช้ไฟล์ แก้ไขเป็นกลุ่มแล้วแต่ว่าแต่ละคนจะใช้แบบไหน จากเทอร์มินัล (Ctrl + Alt + T) เราจะต้องเขียน:

vim derrochecpu.sh

เมื่อเปิดแล้วเราจะกดปุ่ม 'Esc'แล้วก็'i'. ตอนนี้เราจะเพิ่มบรรทัดต่อไปนี้:

vim script splurgecpu

#!/bin/bash
while :; do :; done;

เมื่อเสร็จแล้วก็ถึงเวลาบันทึกและออก ในการดำเนินการนี้เราจะกดปุ่ม 'Esc'และเราจะเขียน : WQ เพื่อบันทึกและปิดไฟล์ สคริปต์สั้น ๆ นี้จะทำซ้ำโดยใช้การใช้งาน CPU สูงสุดอย่างราบรื่น ดังนั้นขอแนะนำให้ทดสอบในเครื่องเสมือน

ตอนนี้เรากำลังจะทำให้ไฟล์นี้สามารถเรียกใช้งานได้ ในการทำสิ่งนี้จากเทอร์มินัลเดียวกัน (Ctrl + Alt + T) เราจะดำเนินการ:

chmod +x derrochecpu.sh

การเรียกใช้สคริปต์

ตอนนี้เราจะเปิดกระบวนการในพื้นหลัง เราจะทำสิ่งนี้โดยใช้คำสั่ง:

./derrochecpu.sh &

สคริปต์ PID splurgeCPU

เราจะเก็บ PID ของกระบวนการไว้. ในกรณีนี้ 6472 คือ PID ของกระบวนการที่เรียกใช้

ตรวจสอบปริมาณ CPU ที่ใช้

เราสามารถดูจำนวน CPU ที่กระบวนการที่เราเพิ่งเปิดตัวใช้ไปโดยใช้ไฟล์ คำสั่ง«ด้านบน» ในเทอร์มินัลเดียวกัน:

สคริปต์ด้านบน splurgeCPU

top

ดังที่เห็นได้จากภาพหน้าจอด้านบนกระบวนการ wastecpu.sh ใช้ CPU มากกว่า 96% เนื่องจากใช้งาน CPU เป็นจำนวนมากจึงเป็นเรื่องยากที่จะดำเนินการอื่น ๆ หลังจากนั้นไม่กี่นาที, ระบบอาจขัดข้องหรือหยุดทำงาน. นี่คือจุดที่ CPULimt มาช่วยเรา

การ จำกัด การใช้งาน CPU โดย PID

ตอนนี้ขอ จำกัด การใช้งาน CPU ของกระบวนการนี้โดยใช้เครื่องมือ CPULimit พวกเรากำลังจะไป จำกัด การใช้งาน CPU ไว้ที่ 35% โดยใช้ PID ที่เกี่ยวข้อง (ประมาณ). โดยเรียกใช้:

cpulimit -l 35 -p 6472 &
  • ทางเลือก "-ล. 35» จำกัด กระบวนการไว้ที่ประมาณ 35%
  • «-p 6472»คือ PID ของ derrochecpu.sh ที่เราเคยเห็นมาก่อน

การตรวจสอบผลของ CPULimit

เมื่อเปิดคำสั่งก่อนหน้าแล้วให้ตรวจสอบการใช้งาน CPU ของกระบวนการอีกครั้ง สำหรับสิ่งนี้เราจะใช้คำสั่งด้านบนอีกครั้ง:

CPU สูงสุดสคริปต์ จำกัด การใช้จ่ายสุรุ่ยสุร่าย

top

ดังที่คุณเห็นในภาพด้านบนการใช้งาน CPU ของสิ้นเปลือง cpu.sh ลดลงเหลือ 35,6% ซึ่งใกล้เคียงกับ 35% ตอนนี้ใช่ เราสามารถมีทรัพยากร CPU มากขึ้นเพื่อรันกระบวนการอื่น ๆ.

การ จำกัด การใช้งาน CPU ตามชื่อไฟล์

เราได้เห็นวิธี จำกัด กระบวนการโดยใช้ PID เช่นกัน เราสามารถเรียกใช้คำสั่ง CPULimit ที่ระบุชื่อของไฟล์โปรแกรมที่เรียกใช้งานได้.

ตัวอย่างเช่นตัวอย่างเดียวกันข้างต้นจะเป็น:

cpulimit -l 30 ./derrochecpu.sh &

CPULimit มีประโยชน์ในขณะที่เรียกใช้กระบวนการที่ใช้งาน CPU มากเกินไป ในครั้งต่อไปที่เราสังเกตเห็นว่าโปรแกรมใช้ CPU มากเกินไปเราจะต้องหา PID ของกระบวนการโดยใช้คำสั่ง«ด้านบน«. เมื่อคุณมีคุณเพียงแค่ จำกัด การใช้งาน CPU ของคุณให้เป็นค่าต่ำสุดโดยใช้คำสั่ง CPULimit ตามที่อธิบายไว้ในบทความนี้

ถอนการติดตั้ง CPULimit

การลบเครื่องมือนี้ออกจากระบบของเราทำได้ง่ายเพียงแค่เปิดเทอร์มินัล (Ctrl + Alt + T) แล้วพิมพ์:

sudo apt remove cpulimit

สิ่งที่บทความนี้อธิบาย เป็นเพียงตัวอย่างเท่านั้น. เห็นได้ชัดว่าไม่มีใครคิดถูกที่จะเปิดสคริปต์เหมือนที่อธิบายไว้ในคอมพิวเตอร์ของตัวเอง


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   javp dijo

    สวัสดี:
    เหมาะอย่างยิ่งสำหรับพีซีเครื่องเก่าที่ฉันมี amd64 x2 ซึ่งดูเหมือนว่าจะมีปัญหาในการระบายความร้อนและเมื่อกระบวนการใช้ CPU มากเป็นเวลาหลายนาทีเครื่องจะร้อนถึง100º C และปิดตัวลง
    ดังนั้นเมื่อฉันเห็นว่ากระบวนการ (โดยทั่วไปบางเว็บไซต์หรือโปรแกรมเรนเดอร์วิดีโอ) ทำให้ฉันเพิ่มอุณหภูมิของซีพียูฉันจะใช้ cpulimit เพื่อลบ "พลังงาน" ออกจากกระบวนการนั้น
    กราเซีย