ในบทความหน้าเราจะมาดู 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'. ตอนนี้เราจะเพิ่มบรรทัดต่อไปนี้:
#!/bin/bash while :; do :; done;
เมื่อเสร็จแล้วก็ถึงเวลาบันทึกและออก ในการดำเนินการนี้เราจะกดปุ่ม 'Esc'และเราจะเขียน : WQ เพื่อบันทึกและปิดไฟล์ สคริปต์สั้น ๆ นี้จะทำซ้ำโดยใช้การใช้งาน CPU สูงสุดอย่างราบรื่น ดังนั้นขอแนะนำให้ทดสอบในเครื่องเสมือน
ตอนนี้เรากำลังจะทำให้ไฟล์นี้สามารถเรียกใช้งานได้ ในการทำสิ่งนี้จากเทอร์มินัลเดียวกัน (Ctrl + Alt + T) เราจะดำเนินการ:
chmod +x derrochecpu.sh
การเรียกใช้สคริปต์
ตอนนี้เราจะเปิดกระบวนการในพื้นหลัง เราจะทำสิ่งนี้โดยใช้คำสั่ง:
./derrochecpu.sh &
เราจะเก็บ PID ของกระบวนการไว้. ในกรณีนี้ 6472 คือ PID ของกระบวนการที่เรียกใช้
ตรวจสอบปริมาณ CPU ที่ใช้
เราสามารถดูจำนวน CPU ที่กระบวนการที่เราเพิ่งเปิดตัวใช้ไปโดยใช้ไฟล์ คำสั่ง«ด้านบน» ในเทอร์มินัลเดียวกัน:
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 ของกระบวนการอีกครั้ง สำหรับสิ่งนี้เราจะใช้คำสั่งด้านบนอีกครั้ง:
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
สิ่งที่บทความนี้อธิบาย เป็นเพียงตัวอย่างเท่านั้น. เห็นได้ชัดว่าไม่มีใครคิดถูกที่จะเปิดสคริปต์เหมือนที่อธิบายไว้ในคอมพิวเตอร์ของตัวเอง
สวัสดี:
เหมาะอย่างยิ่งสำหรับพีซีเครื่องเก่าที่ฉันมี amd64 x2 ซึ่งดูเหมือนว่าจะมีปัญหาในการระบายความร้อนและเมื่อกระบวนการใช้ CPU มากเป็นเวลาหลายนาทีเครื่องจะร้อนถึง100º C และปิดตัวลง
ดังนั้นเมื่อฉันเห็นว่ากระบวนการ (โดยทั่วไปบางเว็บไซต์หรือโปรแกรมเรนเดอร์วิดีโอ) ทำให้ฉันเพิ่มอุณหภูมิของซีพียูฉันจะใช้ cpulimit เพื่อลบ "พลังงาน" ออกจากกระบวนการนั้น
กราเซีย