Tại sao máy ảo windows không sử dụng nhiều CPU?


12

Tôi có 2 máy ảo đang chạy với tư cách là khách trên nền tảng ảo hóa KVM chạy trên Ubuntu 10.04. Một VM là hệ thống Ubuntu 10.04, còn lại là hệ thống Windows 7. Khi cả hai máy được đăng xuất hoàn toàn, máy Linux sử dụng CPU 1%, Windows 45-50%, theo top. Các biểu đồ trong virt-manager dường như sao lưu này. Không có gì được cài đặt trên hình ảnh Win7 sẽ chạy trong nền; nó tươi như có thể được.

Tại sao Windows VM sử dụng nhiều hơn so với Linux VM, khi cả hai đều đăng xuất và không hoạt động?

Biên tập:

Tôi đã cài đặt cho khách với bộ lưu trữ paravirt và trình điều khiển mạng từ việc di chuyển. Tôi không tin có bất kỳ trình điều khiển nào khác mà tôi đang thiếu, tôi có sai không?.

Theo người quản lý nhiệm vụ của khách, nó thực sự nhàn rỗi. TASkman chiếm khoảng 1 hoặc 2% CPU khách, nhưng không có quá trình nào khác chiếm bất kỳ thời gian CPU nào.

Câu trả lời:


4

Phiên bản nào của QEMU-KVM bạn đang chạy?

Chúng tôi đã thấy vấn đề này trên các phiên bản 0.12.3 trở xuống, nhưng dường như không có quá nhiều vấn đề trên 0.12.4. Ngoài ra, kiểm tra xem các trình bảo vệ màn hình đang chạy. Nếu bạn đang sử dụng kết nối VNC thì nó có thể đang chạy ở đó và việc sử dụng CPU sẽ không nằm trong VM - nó sẽ được sử dụng theo quy trình KVM.


1
0.12.3. Tôi sẽ xây dựng trong 0.12.4 và xem nếu điều này biến mất.
Jeff Shattock

1
Và thực sự nó đã làm. Windows đã tìm thấy trình điều khiển cho CPU ảo Qemu 0.12.4 và sự cố này không còn sau khi khách khởi động lại.
Jeff Shattock

7

Tôi biết rằng câu trả lời của tôi xuất hiện sau 100 năm nhưng: để tham khảo trong tương lai, vui lòng xem tại đây:

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

Nếu đó là casethen thì đây là giải pháp: http://support.microsoft.com/kb/895980

Nó đã giảm mức sử dụng cpu khách Win2K3 R2 của tôi (khi khách không hoạt động) trên máy chủ x86_64 kvm của tôi từ ~ 30% -40% xuống 6%


2
Chuỗi trên Proxmox có một thông tin hữu ích: loại bỏ phần cứng ảo máy tính bảng USB khỏi cửa sổ VM sẽ giảm số lượng bộ chuyển ngữ cảnh. Windows VM nhàn rỗi của tôi đã giảm từ CPU chủ 20% xuống còn 5% CPU chủ.
Colin 't Hart

Cảm ơn, đã làm việc cho tôi. Thiết bị ảo máy tính bảng đã gửi các yêu cầu ngắt vô tận
michaelbn

1

Việc Windows được cài đặt mới không có nghĩa là không chạy các quy trình hoặc dịch vụ nền. Giám sát máy windows bằng SNMP hoặc trình quản lý tác vụ và cố gắng tìm hiểu xem nó có thực sự nhàn rỗi không. Như Massimo đã nói, bạn cũng nên cài đặt trình điều khiển ảo cho hệ điều hành khách của mình. Tôi chưa bao giờ thấy một VM nhàn rỗi để lấy tài nguyên CPU từ máy chủ.


0

Tôi không biết gì về KVM, nhưng trên VMware điều này có thể xảy ra nếu bạn không cài đặt các công cụ VMware trong máy ảo, do đó nó không có trình điều khiển thiết bị phù hợp cho phần cứng ảo hóa và không thể đặt CPU ảo của nó ở chế độ rảnh thực sự khi nó không thực sự làm gì cả, thay vào đó sử dụng một vòng lặp nhàn rỗi đơn giản (điều này thực sự tương ứng với CPU đang bận rộn hoàn toàn trên chính nó).

Có lẽ có một cái gì đó tương tự như các công cụ VMware bạn nên cài đặt trong VM của mình?


-2

Điều đầu tiên, ngừng so sánh Windows và Linux hoặc mong đợi chúng hoạt động giống nhau. Họ khác nhau.

Windows không bao giờ nhàn rỗi. Nó chạy nhiều tác vụ nền và từ kinh nghiệm ngắn gọn của tôi với Win 7, nó làm được nhiều hơn thế so với XP. Một điều sẽ giúp giảm tải là bắt đầu tắt các dịch vụ cần thiết, chẳng hạn như dịch vụ lập chỉ mục.


1
Linux cũng chạy nhiều "dịch vụ" nền. Và người đăng ban đầu đã xác nhận rằng Trình quản lý tác vụ hiển thị 1-2% CPU được sử dụng trong máy khách Windows.
Colin 't Hart

@Colin, như chúng ta đều biết, Trình quản lý tác vụ nói về tải CPU. Ai ở đây đã không thấy nó báo cáo 98% nhàn rỗi và hệ thống vẫn hoàn toàn không phản hồi với nhiệt độ CPU vì tải? Tôi cũng nhận thức được rằng Linux cũng chạy các tác vụ nền nhưng điểm tôi đang làm là Linux và Windows là hai động vật hoàn toàn khác nhau. Những người cố gắng so sánh cái này với cái kia sẽ luôn đấu tranh nhiều hơn những người chỉ đơn giản chấp nhận rằng họ khác biệt và coi mỗi người như một thực thể riêng biệt.
John Gardeniers

1
Điều đó làm cho không có ý nghĩa gì cả.
Colin 't Hart

@Colin, đó có lẽ là vì loại điều này nằm ngoài lĩnh vực của bạn. Bất kỳ Windows nào tồn tại một thời gian sẽ hiểu những gì tôi đã viết về tải CPU. Bất cứ ai làm việc với cả Windows và Linux cũng nên hiểu phần còn lại. Vì bạn không làm việc trong cùng lĩnh vực nên tôi không thực sự mong bạn hiểu những điều này, giống như tôi sẽ không hiểu gì về Oracle.
John Gardeniers

Điều gì khiến bạn nghĩ rằng tôi không làm việc trong cùng một lĩnh vực?
Colin 't Hart
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.