เหตุใดการตรวจสอบ ec2 จึงแสดง 100% cpu และสูงสุดเพียง 20%


10

ฉันใช้สคริปต์ python บนอินสแตนซ์ของ ec2 ที่แทรกแถวในฐานข้อมูลบนอินสแตนซ์อื่น ในการตรวจสอบของ ec2 ฉันเห็นการใช้งาน cpu 100% ในขณะที่ top แสดงให้เห็นเพียง 20% สำหรับกระบวนการ python อะไรหายไปจากด้านบน? ค่าใช้จ่ายเครือข่าย


แล้วกระบวนการอื่น ๆทั้งหมดล่ะ?
Ladadadada

ที่การใช้งานประมาณ 0%
RickyA

ฉันยังอยู่ใน dillima ฉันส่งคำสั่ง TOP ของฉันให้กับลูกค้า :)
Manish Shrivastava

คำตอบ:


18

ข้อมูลที่เปิดเผยโดยtopมักจะไม่เพียงพอหรือทำให้เข้าใจผิดในสภาพแวดล้อมเสมือนจริงเช่นAmazon EC2และร้อยละที่รายงานขึ้นอยู่กับประเภทอินสแตนซ์ของคุณและการใช้งานตัวประมวลผลหลักพื้นฐาน (ซึ่งมักจะไม่ตรงกับฮาร์ดแวร์เสมือนจริงที่คุณนำเสนอ สิ่งอื่น ๆ - สิ่งที่คุณเห็นมีสาเหตุมาจากเวลาการขโมยซีพียูตามที่เปิดเผยในเครื่องมือตรวจสอบ Unix / Linux ที่เกี่ยวข้องมากที่สุดในปัจจุบัน - ดูคอลัมน์ต่างๆเช่น% steal หรือ st sarหรือtop:

st - เวลาขโมย
จำนวนของ CPU ที่ถูก 'ขโมย' จากเครื่องเสมือนนี้โดย hypervisor สำหรับงานอื่น ๆ (เช่นการเรียกใช้เครื่องเสมือนอื่น)

บล็อกการตรวจสอบการโพสต์EC2: กรณีของ CPU ที่ถูกขโมยให้การสำรวจที่ดีและภาพประกอบของหัวข้อนี้:

เมื่อคำสั่ง top แสดง 40% CPU ไม่ว่าง แต่ CloudWatch แจ้งว่าเซิร์ฟเวอร์นั้น maxed out ที่ 100% - คุณใช้ด้านไหน? คำตอบนั้นง่าย (CloudWatch ถูกต้องไม่อยู่ด้านบน) [... ]

โปรดทราบว่าการวัดไฮเปอร์ไวเซอร์นี้ดูเหมือนว่า (เข้าถึงได้ง่าย) ในระบบ Unix / Linux เท่านั้น แต่ดูเหมือนว่าจะไม่สามารถสังเกตเห็นได้บน Windows (ยัง) ดูคำถามของฉันมี Windows เทียบเท่ากับ 'CPU ขโมยเวลา' ของ Unix หรือไม่ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้


2
ขอบคุณสำหรับบล็อก นั่นทำให้ชัดเจนจริงๆ เป็นการดีที่จะรู้เรื่องนี้ตั้งแต่ฉันกำลังจะเปิดตัว Ganglia และมันก็น่าละอายที่จะวัดการวัดที่ไม่ถูกต้อง วัด% เวลาว่าง!
RickyA

ในกรณีของฉัน cloudwatch ยังรายงานการใช้เครือข่าย 3mb / s แต่เมื่อฉันดูบนเซิร์ฟเวอร์ของฉัน (ด้วย iftop, iptraf, netstat ฯลฯ ) ฉันเห็นว่าสิ่งเดียวที่มีการเชื่อมต่อเครือข่ายคือ ssh ของฉันลงในเซิร์ฟเวอร์ ซึ่งผมมีข้อสงสัยจริงๆใช้ 3MB / s ...
Benubird

-2

Amazon อาจตรวจสอบโหลดและไม่มีการใช้เปอร์เซ็นต์จาก TOP ถ้าคุณมีสองโพรเซสบน cpu, มันสามารถใช้ได้ 20% แต่คุณสามารถโหลดได้ 2


ผมไม่แน่ใจว่าสิ่งที่คุณหมายกับภาระ 2 ...
RickyA

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