ฉันสามารถ จำกัด การใช้งาน CPU ของแอพพลิเคชั่นเดียวได้หรือไม่


คำตอบ:


16

เช่นเดียวกับ cpulimit:

คุณสามารถเริ่มต้น clamscan ด้วยคำสั่ง nice เช่น

nice -n 19 clamscan.

ดูman niceรายละเอียดที่

มันไม่ได้จำกัด ซีพียู แต่จะลดระดับความสำคัญของกระบวนการลง

นอกจากนี้ยังมีreniceการเปลี่ยนแปลงลำดับความสำคัญของกระบวนการทำงาน


2
ดูเหมือนว่ามันจะยังคงกินซีพียูจำนวนมาก ...
Pitto

4
ตราบใดที่กระบวนการอื่นไม่ต้องการใช้ cputime หอยก็จะได้รับจำนวนมาก แต่ทันทีที่กระบวนการอื่น (ซึ่งมีลำดับความสำคัญสูงกว่า) ต้องการ cputime หอยก็ไม่มีโอกาส cpulimit จำกัด cputime แน่นอนและดี จำกัด cputime ที่เกี่ยวข้อง
Clausi

2
+1 niceไอเอ็นจีเป็นวิธีแบบดั้งเดิมที่จะไปและด้วยเหตุผลที่ดี
loevborg

มีเครื่องมือใดบ้างที่จะกำหนดค่า nice เริ่มต้นสำหรับแอปพลิเคชันเฉพาะที่ต้องการรัน เป็นเครื่องมือที่ช่วยให้คุณเปรียบเทียบค่าที่ตั้งไว้ทั้งหมดของคุณแบบเคียงข้างกัน
Jonny Asmar

19

ติดตั้งcpulimit

sudo apt-get install cpulimit

มันมีวิธีการต่าง ๆ ของการ จำกัด การใช้งาน CPU ของกระบวนการที่fooจะพูด 20%

  • โดยกระบวนการชื่อ: sudo cpulimit -e foo -l 20.

  • โดยชื่อพา ธ สัมบูรณ์: sudo cpulimit -P /usr/bin/foo -l 20

  • โดย PID ของมัน:

    1. ค้นหา PID pidof fooของกระบวนการ: (พูดมันส่งออก 1881)
    2. sudo cpulimit -p 1881 -l 20

ไม่พบกระบวนการเป้าหมาย ... อาจเป็นเพราะฉันมีสคริปต์ให้เรียกใช้ clamscan หรือ ฉันทำ: sudo cpulimit -e /etc/cron.hourly/virusscan -l 15
Pitto

@Pitto: คุณป้อนคำสั่งไม่ถูกต้อง/etc/cron.hourly/virusscanไม่ใช่กระบวนการ หากคุณต้องการที่จะ จำกัด การวิ่งclamscan sudo cpulimit -e clamscan -l 15
Sid

Oh! ขวา! ดังนั้นฉันควรเริ่ม cpulimit เมื่อเริ่มต้นใน rc.local ใช่ไหม
Pitto

2
sudoไม่จำเป็นต้องใช้กระบวนการไม่ใช่กระบวนการของระบบ เช่นเดียวกับบันทึก
Anwar

นี่จะเป็นทางออกที่ดีมากหากใช้โปรแกรม! รองรับการค้นหาตามรูปแบบหรือไม่
Jonny Asmar

4

นี่จะเป็นความเห็นต่อคำตอบของ Clausi (ซึ่งฉันเชื่อว่าเป็น "ถูกต้อง" มากที่สุดจากมุมมองการบริหารระบบในความคิดของฉัน) แต่มันก็บานเป็นสิ่งที่ใหญ่เกินไปที่จะใส่ลงในช่องแสดงความคิดเห็น

  • Clamscan มีจำนวนงานที่ต้องทำ จำกัด ด้วยความเร็วที่แน่นอนนั่นหมายความว่าจะใช้เวลานานขึ้น มันจะเก็บซีพียูไว้ในการช่วงชิงเป็นเวลานาน

  • ปล่อยให้มันทำงานเร็วเท่าที่มันจะทำให้คุณใช้งาน CPU ได้อย่างเต็มที่ ทำให้ดีมาก "ดี" หมายความว่ามันจะทำให้กระบวนการอื่นทำงานก่อนที่มันจะเป็นของตัวเอง ซึ่งหมายความว่าหากมีกระบวนการที่ยุ่งอื่น ๆ มากมายใช่มันจะใช้เวลานานในการทำงานของตัวเอง แต่ถ้าไม่มีอะไรในนั้นมันก็จะทำงานผ่านภาระงานของมัน


3

หากคุณใช้ clamd กับ systemd คุณสามารถใช้CPUQuotaตัวเลือก

แก้ไข/lib/systemd/system/clamav-daemon.serviceเพื่อรวมบรรทัดนี้ใน[Service]ส่วน:

CPUQuota=20%

จากนั้นเริ่มบริการใหม่

sudo systemctl daemon-reload
sudo systemctl reload-or-restart clamav-daemon

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.