ไม่แน่นอน 1.00*n_cpu
แต่ส่วนใหญ่ใน
โหลดหมายถึงสิ่งต่อไปนี้: หากมีหลายกระบวนการในระบบซีพียูเดี่ยวพวกเขากำลังทำงานแบบขนาน แต่มันไม่เป็นความจริง สิ่งที่เกิดขึ้นจริง: เคอร์เนลให้เวลา 1/100 วินาทีในการประมวลผลแล้วหยุดการทำงานด้วยการขัดจังหวะ และให้อีก 1/100 วินาทีที่สองไปยังกระบวนการอื่น
คำถามที่จริงแล้ว "กระบวนการใดควรได้รับช่วงเวลา 1/100 วินาทีถัดไปของเรา" จะมีการตัดสินใจโดยฮิวริสติกที่ซับซ้อน มันมีชื่อเป็นงาน การตั้งเวลา
แน่นอนกระบวนการที่ถูกบล็อกเช่นพวกเขากำลังรอข้อมูลของพวกเขาสิ่งที่พวกเขากำลังอ่านจากดิสก์ได้รับการยกเว้นจากการจัดตารางงานนี้
สิ่งที่โหลดพูด: จำนวนกระบวนการที่กำลังรอกรอบเวลา 1 / 100th วินาทีถัดไปของพวกเขา แน่นอนมันเป็นค่าเฉลี่ย cat /proc/loadavg
นี้เป็นเพราะคุณสามารถเห็นตัวเลขหลายใน
สถานการณ์ในระบบ multi-cpu นั้นซับซ้อนกว่าเล็กน้อย มีซีพียูหลายตัวซึ่งสามารถกำหนดกรอบเวลาให้กับหลาย ๆ กระบวนการ สิ่งนี้ทำให้การจัดตารางงานค่อนข้างซับซ้อน แต่ไม่ซับซ้อนนัก แต่สถานการณ์เหมือนกัน
เคอร์เนลเป็นอัจฉริยะมันพยายามแชร์ทรัพยากรของระบบเพื่อประสิทธิภาพที่ดีที่สุดและอยู่ใกล้กับที่นั้น (มีสิ่งเล็กน้อยที่เหมาะสมเช่นมันจะดีกว่าถ้ากระบวนการจะถูกรันในเวลาที่ยาวนานที่สุดเท่าที่จะเป็นไปได้ ซีพียูเนื่องจากการพิจารณาแคช แต่พวกเขาไม่สำคัญ) นี่เป็นเพราะถ้าเรามีโหลด 8 นั่นหมายถึง: มี 8 กระบวนการที่รอการหั่นครั้งต่อไป หากเรามี 8 ซีพียูเราสามารถแบ่งเวลาเหล่านี้ให้ซีพียูแบบหนึ่งต่อหนึ่งดังนั้นระบบของเราจะใช้อย่างเหมาะสมที่สุด
หากคุณเห็นกtop
คุณจะเห็นว่าจำนวนของกระบวนการทำงานจริงนั้นต่ำมากอย่างน่าประหลาดใจนั่นคือกระบวนการที่ทำเครื่องหมายไว้ที่R
นั่น แม้ในระบบที่ไม่ยอมใครง่ายๆจริง ๆ ก็มักจะต่ำกว่า 5 ซึ่งเป็นส่วนหนึ่งเนื่องจากกระบวนการที่รอข้อมูลจากดิสก์หรือจากเครือข่ายก็ถูกระงับด้วย (ทำเครื่องหมายด้วยS
ด้านบน) โหลดแสดงการใช้งาน cpu เท่านั้น
มีเครื่องมือในการวัดโหลดดิสก์ด้วยเช่นกันพวกเขาควรมีความสำคัญอย่างน้อยกับการตรวจสอบการใช้ cpu แต่อย่างใดมันก็ไม่เป็นที่รู้จักกันดีในโลกมืออาชีพของเรา
เครื่องมือ Windows มักจะแบ่งการโหลดด้วยจำนวนจริงของซีพียู สิ่งนี้ทำให้ผู้ดูแลระบบ windows มืออาชีพบางรายใช้โหลดระบบในแง่นี้โดยการแบ่งซีพียู พวกเขาไม่ถูกต้องและอาจจะมีความสุขมากขึ้นหลังจากที่คุณอธิบายเรื่องนี้ให้พวกเขาฟัง
CPU แบบมัลติคอร์เป็นซีพียูหลายตัวในซิลิคอนชิปเดียวกัน ไม่มีความแตกต่าง
ในกรณีของ CPU ที่มีเธรดมากมีผลข้างเคียงที่น่าสนใจ: การโหลด cpu ทำให้คู่ไฮเปอร์เธรดช้าลง แต่สิ่งนี้เกิดขึ้นบนเลเยอร์ที่ลึกกว่าสิ่งที่การกำหนดเวลางานปกติจะจัดการแม้ว่ามันจะสามารถ (และควร) มีอิทธิพลต่อการตัดสินใจในการย้ายกระบวนการของตัวกำหนดตารางเวลา
แต่จากมุมมองปัจจุบันของเรา - สิ่งที่กำหนดภาระของระบบ - มันไม่สำคัญเช่นกัน