ในประมาณมากที่สุดใน scikit การเรียนรู้ที่มีn_jobs
พารามิเตอร์ในfit
/ วิธีการสำหรับการสร้างงานโดยใช้แบบคู่ขนานpredict
joblib
ฉันสังเกตเห็นว่าการตั้งค่าให้-1
สร้างกระบวนการ Python เพียง 1 กระบวนการและใช้แกนประมวลผลสูงสุดทำให้การใช้งาน CPU สูงถึง 2,500% ที่ด้านบน สิ่งนี้ค่อนข้างแตกต่างจากการตั้งค่าเป็นจำนวนเต็มบวก> 1 ซึ่งสร้างกระบวนการ Python หลายกระบวนการที่การใช้งาน ~ 100%
การตั้งค่านี้มีผลต่อการใช้งาน CPU & core อย่างไรบนเซิร์ฟเวอร์ multi-CPU Linux (เช่นถ้าn_jobs=8
เป็น 8 ซีพียูถูกล็อคอย่างสมบูรณ์หรือซีพียูยังคงจองคอร์บางส่วนสำหรับงาน / กระบวนการอื่น ๆ ?)
นอกจากนี้ฉันจะได้รับMemoryError
เป็นครั้งคราวเมื่อตั้งค่าn_jobs=-1
ชุดข้อมูลขนาดใหญ่ อย่างไรก็ตามการใช้หน่วยความจำมักจะวนเวียนอยู่ที่ประมาณ 30-40% สำหรับกระบวนการ Python เดียว ข้อมูลและหน่วยความจำมีการจัดการ / คัดลอกอย่างไรขึ้นอยู่กับมูลค่าของn_jobs
?