เหตุใด VM ของ Windows ที่ไม่ทำงานใช้ CPU มาก


12

ฉันมี 2 VMs ที่ทำงานในฐานะแขกบนแพลตฟอร์มการจำลองเสมือนของ KVM ที่ทำงานบน Ubuntu 10.04 VM หนึ่งคือระบบ Ubuntu 10.04 และอีกหนึ่งเป็นระบบ Windows 7 เมื่อทั้งสองเครื่องออกจากระบบอย่างสมบูรณ์เครื่อง Linux ใช้ 1% CPU, Windows 45-50% ตามลำดับด้านบน กราฟใน virt-manager ดูเหมือนจะสำรองข้อมูลนี้ไว้ ไม่มีสิ่งใดติดตั้งบนอิมเมจ Win7 ที่จะทำงานในพื้นหลัง มันสดเท่าที่จะสามารถ

เหตุใด Windows VM จึงใช้งานมากกว่า Linux VM เมื่อทั้งคู่ออกจากระบบและไม่ทำงาน

แก้ไข:

ฉันติดตั้งแขกที่มีพื้นที่เก็บข้อมูล paravirt และไดรเวอร์เครือข่ายจากการเดินทาง ฉันไม่เชื่อว่ามีไดรเวอร์อื่น ๆ ที่ฉันหายไปฉันผิดหรือเปล่า?

ตามผู้จัดการงานของแขกมันแน่นอนว่าง Taskman ใช้เวลาประมาณ 1 หรือ 2% ของ CPU ของแขก แต่ไม่มีกระบวนการอื่นใดที่ใช้เวลาของ CPU

คำตอบ:


4

คุณกำลังใช้ QEMU-KVM เวอร์ชันใดอยู่

เราได้เห็นปัญหานี้ในรุ่น 0.12.3 หรือต่ำกว่า แต่ดูเหมือนว่าจะไม่มีปัญหามากเกินไปในวันที่ 0.12.4 ตรวจสอบดูว่าสกรีนเซฟเวอร์กำลังทำงานอยู่หรือไม่ หากคุณใช้การเชื่อมต่อ VNC อาจมีการใช้งานที่นั่นและการใช้งาน CPU จะไม่อยู่ใน VM - จะถูกใช้โดยกระบวนการ KVM


1
0.12.3 ฉันจะสร้างใน 0.12.4 และดูว่าสิ่งนี้จะหายไป
Jeff Shattock

1
และแน่นอนมันทำ Windows พบไดรเวอร์สำหรับ Qemu 0.12.4 Virtual CPU และปัญหานี้หายไปหลังจากการรีบูทของแขก
Jeff Shattock

7

ฉันรู้ว่าคำตอบของฉันมาหลังจาก 100 ปี แต่: สำหรับการอ้างอิงในอนาคตโปรดดูที่นี่:

http://forum.proxmox.com/threads/5770-Windows-guest-high-context-switch-rate-when-idle

หากเป็นกรณีที่นี่คือวิธีการแก้ปัญหา: http://support.microsoft.com/kb/895980

มันลดการใช้ซีพียูแขก Win2K3 R2 ของฉัน (เมื่อแขกไม่ได้ใช้งาน) บนโฮสต์ x86_64 kvm ของฉันจาก ~ 30% -40% เป็น 6%


2
เธรดบน Proxmox มีข้อมูลที่มีประโยชน์: เอาฮาร์ดแวร์เสมือนแท็บเล็ต USB ออกจาก windows VM จะลดจำนวนของสวิตช์บริบท Windows VM ที่ไม่ได้ใช้งานของฉันเพิ่มจากซีพียูโฮสต์ 20ish% ไปเป็นซีพียูโฮสต์ 5%
Colin 't Hart

ขอบคุณทำงานให้ฉัน แท็บเล็ตอุปกรณ์เสมือนส่งคำขอขัดจังหวะไม่รู้จบ
michaelbn

1

ความจริงที่ว่า Windows ได้รับการติดตั้งใหม่ไม่ได้หมายความว่าจะไม่เรียกใช้กระบวนการหรือการบริการพื้นหลัง ตรวจสอบเครื่อง windows ด้วย SNMP หรือตัวจัดการงานและลองดูว่ามันว่างอยู่หรือไม่ ดังที่ Massimo กล่าวว่าคุณควรติดตั้งไดรเวอร์ pravirtualization สำหรับระบบปฏิบัติการเกสต์ของคุณ ฉันไม่เคยเห็น VM ที่ไม่ได้ใช้งานเพื่อใช้ทรัพยากร CPU จากโฮสต์


0

ฉันไม่รู้อะไรเลยเกี่ยวกับ KVM แต่บน VMware สิ่งนี้สามารถเกิดขึ้นได้หากคุณไม่ติดตั้งเครื่องมือ VMware ในเครื่องเสมือนเพื่อที่จะไม่มีไดรเวอร์อุปกรณ์ที่เหมาะสมสำหรับฮาร์ดแวร์เสมือนจริงและไม่สามารถใส่ได้ CPU เสมือนจริงบน idle จริงเมื่อมันไม่ได้ทำอะไรเลยโดยใช้ลูป idle แบบง่ายแทน

อาจมีบางอย่างคล้ายกับเครื่องมือ VMware ที่คุณควรติดตั้งใน VM ของคุณ?


-2

อย่างแรกให้หยุดเปรียบเทียบ Windows กับ Linux หรือคาดหวังว่ามันจะทำงานเหมือนเดิม พวกเขาแตกต่าง.

Windows จะไม่มีการใช้งาน มันทำงานพื้นหลังจำนวนมากและจากประสบการณ์สั้น ๆ ของฉันกับ Win 7 มันทำได้มากกว่าพูด XP สิ่งหนึ่งที่จะช่วยให้การโหลดง่ายขึ้นคือการเริ่มปิดบริการที่จำเป็นเช่นบริการจัดทำดัชนี


1
ลีนุกซ์ยังใช้งาน "บริการ" พื้นหลังมากมาย และโปสเตอร์ต้นฉบับยืนยันว่าตัวจัดการงานแสดง CPU 1-2% ที่ใช้ในเกสต์ Windows
Colin 't Hart

@Colin อย่างที่เรารู้ Task Manager นั้นเกี่ยวกับการโหลดซีพียู มีใครที่นี่ที่ไม่เห็นรายงานว่าไม่มีการใช้งาน 98% และระบบยังไม่ตอบสนองอย่างสมบูรณ์กับอุณหภูมิ CPU เนื่องจากการโหลด? ฉันตระหนักดีว่า Linux ยังทำงานพื้นหลัง แต่ประเด็นที่ฉันทำคือ Linux และ Windows เป็นสัตว์ที่แตกต่างอย่างสิ้นเชิง ผู้ที่พยายามเปรียบเทียบสิ่งหนึ่งกับอีกคนหนึ่งมักจะดิ้นรนมากกว่าคนที่ยอมรับว่าพวกเขาแตกต่างกันและปฏิบัติต่อบุคคลอื่นในฐานะนิติบุคคลแยกต่างหาก
John Gardeniers

1
มันไม่สมเหตุสมผลเลย
Colin 't Hart

@ โคลอนนั่นอาจเป็นเพราะสิ่งนี้ออกนอกเขตของคุณ Windows ที่เคยใช้มาระยะหนึ่งจะเข้าใจสิ่งที่ฉันเขียนเกี่ยวกับการโหลดซีพียู ทุกคนที่ทำงานกับทั้ง Windows และ Linux ควรเข้าใจส่วนที่เหลือ ในขณะที่คุณไม่ได้ทำงานในสาขาเดียวกันฉันไม่ได้คาดหวังให้คุณเข้าใจสิ่งเหล่านี้เช่นเดียวกับที่ฉันไม่เข้าใจ Oracle
John Gardeniers

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