โหลดระบบคืออะไร


13

ที่งานของฉันเรามี data repository ที่เรียกใช้ Ubuntu 12.04.03 CLI และเมื่อฉันตรวจสอบพวกเขาเมื่อเช้านี้เมื่อฉันลงชื่อเข้าใช้แทนที่จะให้ข้อมูลปกติกับฉันมันบอกว่าไม่สามารถแสดงข้อมูลได้เนื่องจากโหลดระบบสูงกว่า 2 และ ฉันสงสัยว่าสิ่งนี้หมายความว่าอย่างไร ฉันเพิ่งรีสตาร์ทมันเพราะมันไม่ตอบสนองมันมีบางอย่างเกี่ยวกับกระบวนการเริ่มต้นและทำให้ทุกอย่างเป็นไปได้หรือไม่

คำตอบ:


17

เรียกใช้topหรือuptimeคำสั่ง:

$ uptime
 19:36:03 up 5 days,  9:12,  8 users,  load average: 0.05, 0.16, 0.21
$ top -bn1 | head -1
top - 19:36:07 up 5 days,  9:13,  8 users,  load average: 0.05, 0.16, 0.21

ค่าเฉลี่ยภาระที่ระบุไว้ที่นี่คือ :

/proc/loadavg
          The  first  three  fields  in this file are load average figures
          giving the number of jobs in the run queue (state R) or  waiting
          for disk I/O (state D) averaged over 1, 5, and 15 minutes.  They
          are the same as the load average numbers given by uptime(1)  and
          other  programs. 

พิจารณาค่าเฉลี่ยการโหลดของฉัน: 0.05, 0.16, 0.21
ซึ่งหมายความว่าโดยเฉลี่ยแล้วกระบวนการ 0.05 รายการกำลังรอทรัพยากรอยู่

คุณควรกังวลว่าค่าเฉลี่ยการโหลดคือ 2 หรือไม่? โดยทั่วไปหากค่าเฉลี่ยการโหลดมากกว่าจำนวนของ CPU ที่มีอยู่แล้วกระบวนการบางอย่างต้องไม่ได้ใช้งานรอบรอสล็อต CPU

หากค่าเฉลี่ยการโหลดน้อยกว่าผลลัพธ์ของnprocคุณไม่จำเป็นต้องกังวล

ดูเพิ่มเติม: ค่าเฉลี่ยของโหลดหมายถึงอะไรใน unix / linux ในฐานะที่เป็น Braiam บันทึกกระบวนการไม่จำเป็นต้องรอเพียงสำหรับ CPU: ทำความเข้าใจกับการใช้งานโหลดเฉลี่ยกับการใช้ซีพียู


มันมีประโยชน์มาก แต่หลังจากรีบูตแล้วมันควรจะมีความร้อนมากเพราะเราไม่เคยเห็นมาก่อนหรือไม่ มันใช้ AMD Athlon (tm) 64 X2 Dual Core Processor 4200+ และไม่ได้ใช้กราฟิกหรือกระบวนการพิเศษ
Sean G

@ SeanG ทำได้ขึ้นอยู่กับว่ามันทำงานอะไร มันอาจเป็นเหตุการณ์ที่เกิดขึ้นครั้งเดียว หากสิ่งนี้เกิดขึ้นซ้ำ ๆ ให้ใช้บางอย่างเช่นbootchartเพื่อดูว่าเกิดอะไรขึ้นกับการบู๊ต
muru

"นั่นหมายความว่าโดยเฉลี่ยแล้ว 0.05 กระบวนการกำลังรอ CPU อยู่" จริงๆแล้วมันไม่สมบูรณ์ทรัพยากรสามารถเป็นฮาร์ดแวร์ใด ๆไม่ใช่แค่ CPU อาจเป็นดิสก์เครือข่าย GPU และอื่น ๆ
Braiam

@Braiam จริง (ฉันทำคำสั่งง่ายเกินไป) ฉันเจอq นี้ในขณะที่ Googling loadavg แต่ไม่คิดว่าจะรวมไว้
muru

ทันทีหลังจากรีบูตค่าโหลดเฉลี่ยอาจสูงเนื่องจากระบบเพิ่งผ่านลำดับ init แบบเข้มข้น ตามที่อธิบายในคำตอบมันใช้เวลาสองสามนาทีเพื่อให้ตัวเลขเลื่อนลงมาเป็นปกติ งาน Anacron ที่เกินกำหนดสามารถยืดระยะเวลาได้
Emil Jeřábek 3.0

7

โหลดระบบหรือโหลดเฉลี่ยของระบบ

มันคือ run-queue นั่นคือคิวของกระบวนการที่รอให้รีซอร์ส (cpu, i / o ฯลฯ ) พร้อมใช้งาน

พิจารณา single-core cpuเป็นเลนเดียวของการจราจรด้วยสะพานและกระบวนการเป็นรถยนต์

ขณะนี้ในสถานการณ์นี้โหลดระบบคือ

  • 0.0 - หากไม่มีการจราจรบนท้องถนน
  • 1.0 - หากการจราจรบนถนนเท่ากับความจุของสะพาน
  • มากกว่า 1 - หากการจราจรบนถนนสูงกว่าความสามารถของสะพานและรถยนต์ต้องรอผ่านสะพาน

cpuจำนวนนี้ไม่ปกติตามที่คุณ ในระบบมัลติโพรเซสเซอร์โหลด 2 หมายถึงการใช้ประโยชน์ 100% ของเรากำลังใช้โปรเซสเซอร์ดูอัลคอร์โหลด 4 หมายถึงการใช้ประโยชน์ 100% หากเราใช้ควอดคอร์

คุณสามารถโหลดระบบโดยใช้

  • uptime
  • cat /proc/loadavg
  • top

    $ uptime 22:49:47 up 11:47, 4 ผู้ใช้, โหลดเฉลี่ย: 2.20, 1.03, 0.82

ตัวเลขสามตัวสุดท้ายที่แสดงถึงค่าเฉลี่ยการโหลดระบบเป็นเวลา 1, 5 และ 15 นาทีตามลำดับ

ตัวอย่างข้างต้นบ่งชี้ว่าโดยเฉลี่ยแล้วมีกระบวนการ 2.20 กระบวนการที่รอการจัดกำหนดการในการรันคิวที่วัดในนาทีสุดท้าย


สิ่งนี้ไม่ได้อธิบายว่าโหลดเฉลี่ยคืออะไร
Braiam

เพิ่มไว้ในคำตอบ
g_p

2

โหลดระบบมีความเกี่ยวข้องกับจำนวนแกน CPU เช่นถ้าคุณมี Quad Core CPU (4 แกน) ค่า 1 หมายความว่าโหลดระบบอยู่ที่ 25% และ 4 หมายถึง 100%


สิ่งนี้ไม่ได้อธิบายว่าโหลดเฉลี่ยคืออะไรและผิดเกี่ยวกับความสัมพันธ์ระหว่างเวลา cpu% และโหลดเฉลี่ย
Braiam

0

หากคุณพิมพ์ในช่วงเวลาที่เครื่องหยุดทำงานคุณจะเห็นสิ่งต่าง ๆ เช่น: โหลดเฉลี่ยและคอลัมน์สามหลักซึ่งโหลดจากหนึ่ง, ห้าและสิบห้านาที หากคุณมีโพรเซสเซอร์ดูอัลคอร์ 2 หมายถึงการใช้ประโยชน์ 100%, 1 หมายถึง 50% และอื่น ๆ


สิ่งนี้ไม่ได้อธิบายว่าโหลดเฉลี่ยคืออะไรและผิดเกี่ยวกับความสัมพันธ์ระหว่างเวลา cpu% และโหลดเฉลี่ย
Braiam

1
ใช่. จากคู่มือการใช้งาน: ค่าเฉลี่ยการโหลด 1 หมายถึงระบบ CPU เดียวถูกโหลดตลอดเวลาในขณะที่ระบบ CPU 4 ระบบหมายความว่ามันไม่ได้ใช้งาน 75% ของเวลา
EdiD

ไม่มีความสัมพันธ์ระหว่างโหลด CPU และโหลดเฉลี่ย ตรวจสอบอีกครั้ง.
Braiam

0

โหลดระบบ 2.0 ไม่สูงมาก ในระบบมัลติคอร์ CPU ของคุณอาจยังไม่ได้ใช้งานบางส่วน

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

ต่อไปนี้จะถือว่า CPU แกนเดียว (เธรดเดียว):

  • 0.0

    CPU ไม่ได้ทำอะไรเลย หากกระบวนการใดกำลังจะเริ่มใช้งาน CPU มันก็จะเป็นกระบวนการเดียวที่ใช้มัน

  • 1.0

    CPU มีการใช้งานสูงสุด แต่ไม่มีข้อขัดแย้งระหว่างกระบวนการสำหรับการใช้งาน CPU กล่าวคือมีเพียงกระบวนการเดียวเท่านั้นที่ทำงานดังนั้นจึงสามารถเรียกร้องเวลา 100% ของเวลา CPU ได้เอง หลายกระบวนการกำลังทำงานอยู่ แต่ไม่มีใครอ้างสิทธิ์ CPU 100% และการใช้งาน CPU รวมกันเพิ่มขึ้นสูงสุด 100% พวกเขาทั้งหมดยังคงทำงานเร็วเท่าที่จะทำงานแม้ว่าพวกเขาจะมีซีพียูทั้งหมด

  • มากกว่า 1.0

    CPU มีการใช้งานสูงสุดและมีหลายกระบวนการที่ต้องการใช้พร้อมกันเพื่อให้ทำงานช้ากว่าที่พวกเขาจะสามารถทำงานได้หากพวกเขามีการใช้ CPU อย่างพิเศษ ตัวอย่างเช่นค่าเฉลี่ยการโหลด 3.0 หมายถึงกระบวนการกำลังทำงานที่ความเร็วหนึ่งในสามที่ต้องการใช้ ค่าเฉลี่ยการโหลด 50.0 หมายถึงกระบวนการกำลังทำงานที่ 1/50 ความเร็วที่พวกเขาต้องการเรียกใช้เนื่องจากกระบวนการอื่นทั้งหมดทำงานอยู่ นั่นคือตัวเลขที่สูงกว่า 1.0 บ่งชี้ว่า CPU ที่พร้อมใช้งานถูกแบ่งระหว่างกระบวนการที่ใช้งานมากขึ้นเรื่อย ๆ

การมีซีพียูหลายคอร์ไม่ได้เปลี่ยนแปลงความหมายของตัวเลข แต่เปลี่ยนวิธีการตีความ ตัวอย่างเช่นหากคุณมีซีพียู 4 คอร์โหลดที่ 1.0 จะยังคงเท่ากับกระบวนการหนึ่งที่ใช้ CPU 100% ในหนึ่งคอร์ แต่มีคอร์อื่นอีกสามคอร์ ดังนั้นสำหรับซีพียู 4 คอร์จุดที่มีประสิทธิภาพสูงสุดคือ 4.0 ไม่ใช่ 1.0 - และจุดที่ทุกอย่างทำงานด้วยประสิทธิภาพ 1/3 มีค่า 12.0 ไม่ใช่ 3.0 เพื่อเพิ่มความซับซ้อนกระบวนการเดียวอาจมีเธรดมากกว่าหนึ่งเธรดแต่ละตัวที่อ้างสิทธิ์ CPU ของตัวเอง ดังนั้นกระบวนการเดียวสามารถใช้ 100% ของทั้ง 4 คอร์หากเป็นแบบมัลติเธรด

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