มีวิธีหยุด ClamScan ที่กินซีพียูเซิร์ฟเวอร์ของฉันหรือไม่?
มีวิธีหยุด ClamScan ที่กินซีพียูเซิร์ฟเวอร์ของฉันหรือไม่?
คำตอบ:
เช่นเดียวกับ cpulimit:
คุณสามารถเริ่มต้น clamscan ด้วยคำสั่ง nice เช่น
nice -n 19 clamscan
.
ดูman nice
รายละเอียดที่
มันไม่ได้จำกัด ซีพียู แต่จะลดระดับความสำคัญของกระบวนการลง
นอกจากนี้ยังมีrenice
การเปลี่ยนแปลงลำดับความสำคัญของกระบวนการทำงาน
nice
ไอเอ็นจีเป็นวิธีแบบดั้งเดิมที่จะไปและด้วยเหตุผลที่ดี
ติดตั้งcpulimit
sudo apt-get install cpulimit
มันมีวิธีการต่าง ๆ ของการ จำกัด การใช้งาน CPU ของกระบวนการที่foo
จะพูด 20%
โดยกระบวนการชื่อ:
sudo cpulimit -e foo -l 20
.
โดยชื่อพา ธ สัมบูรณ์:
sudo cpulimit -P /usr/bin/foo -l 20
โดย PID ของมัน:
pidof foo
ของกระบวนการ: (พูดมันส่งออก 1881)sudo cpulimit -p 1881 -l 20
/etc/cron.hourly/virusscan
ไม่ใช่กระบวนการ หากคุณต้องการที่จะ จำกัด การวิ่งclamscan
sudo cpulimit -e clamscan -l 15
sudo
ไม่จำเป็นต้องใช้กระบวนการไม่ใช่กระบวนการของระบบ เช่นเดียวกับบันทึก
นี่จะเป็นความเห็นต่อคำตอบของ Clausi (ซึ่งฉันเชื่อว่าเป็น "ถูกต้อง" มากที่สุดจากมุมมองการบริหารระบบในความคิดของฉัน) แต่มันก็บานเป็นสิ่งที่ใหญ่เกินไปที่จะใส่ลงในช่องแสดงความคิดเห็น
Clamscan มีจำนวนงานที่ต้องทำ จำกัด ด้วยความเร็วที่แน่นอนนั่นหมายความว่าจะใช้เวลานานขึ้น มันจะเก็บซีพียูไว้ในการช่วงชิงเป็นเวลานาน
ปล่อยให้มันทำงานเร็วเท่าที่มันจะทำให้คุณใช้งาน CPU ได้อย่างเต็มที่ ทำให้ดีมาก "ดี" หมายความว่ามันจะทำให้กระบวนการอื่นทำงานก่อนที่มันจะเป็นของตัวเอง ซึ่งหมายความว่าหากมีกระบวนการที่ยุ่งอื่น ๆ มากมายใช่มันจะใช้เวลานานในการทำงานของตัวเอง แต่ถ้าไม่มีอะไรในนั้นมันก็จะทำงานผ่านภาระงานของมัน
หากคุณใช้ clamd กับ systemd คุณสามารถใช้CPUQuota
ตัวเลือก
แก้ไข/lib/systemd/system/clamav-daemon.service
เพื่อรวมบรรทัดนี้ใน[Service]
ส่วน:
CPUQuota=20%
จากนั้นเริ่มบริการใหม่
sudo systemctl daemon-reload
sudo systemctl reload-or-restart clamav-daemon
หัวข้อนี้มีประโยชน์: HOWTO: ตั้งค่าการใช้ CPU สูงสุดเป็นเปอร์เซ็นต์ตามกระบวนการใด ๆ