Làm cách nào để giảm mức sử dụng CPU khi chạy Virtual Box?


12

Tôi đang gặp vấn đề với việc sử dụng CPU 100% trong hệ thống của mình khi chạy VirtualBox. Dưới đây là một số chi tiết:

Thông tin hệ thống của tôi:

Tên CPU 1: Intel (R) Pentium (R) CPU kép T2310 @ 1.46GHz
Kích thước bộ đệm CPU 1 cấp 1: Bộ nhớ cache dữ liệu 32K. Bộ đệm lệnh 32K.

Kích thước bộ đệm CPU 1 cấp 2: 1024K Bộ đệm hợp nhất.
CPU 1 Mips: 2926.20 Tên
CPU 2: Intel (R) Pentium (R) CPU kép T2310 @ 1.46GHz
Kích thước bộ đệm CPU 2 cấp 1: Bộ nhớ cache dữ liệu 32K. Bộ đệm lệnh 32K.

Kích thước bộ đệm CPU 2 cấp 2: 1024K Bộ đệm hợp nhất.

CPU 2 Mips: 2925,96
CPU 64 bit? Đúng!
Tổng bộ nhớ: 2.0 GB
Tổng số trao đổi: 6141 MByte


Thông tin hệ điều hành của tôi:

Phiên bản hệ điều hành Kubfox : 11.04
Phiên bản hạt nhân: 2.6,38-8-chung
Kernel arch: i686
Shell mặc định: / bin / bash


Cài đặt hộp ảo của tôi:

Loại hệ điều hành:
Bộ nhớ video Windows XP : 32 MB
Tăng tốc:
Bộ nhớ cơ sở 3D : 512 MB

Chi tiết vấn đề:

Chà, mỗi lần tôi chạy Windows XP từ VirtualBox của mình, tôi thấy mức độ sử dụng CPU gần như 100%. Tôi trải nghiệm một hệ thống chậm ngay cả khi không có chương trình nào chạy trên phiên bản Windows XP được lưu trữ của tôi.

Tôi đã tự hỏi nếu có một cách để tôi chơi với các cài đặt để tôi có thể tăng cường hiệu suất một chút. PC của tôi tương đối nhanh trong hệ điều hành Linux của tôi. Tôi cần biết nếu có một số mẹo mà tôi có thể làm theo khi định cấu hình cài đặt VirtualBox của mình để tôi có thể đạt được kết quả tốt hơn.

Bất kỳ đề xuất / ý tưởng được đánh giá cao!


Vậy ý bạn là VM của bạn chạy chậm hay hệ thống của bạn hoàn toàn? CPU bạn có khá yếu - vì vậy tôi sẽ không ngạc nhiên nếu nó được đến 100% khi bạn chạy máy ảo.
slhck

CPU chậm, nhưng tôi đã chạy XP trên máy chủ SUSE trên Athlon XP 2800+ mà không gặp vấn đề gì và 2 GIB RAM, và hệ thống này nhanh hơn tôi nhiều lần. Nó có thể chạy VirtualBox và XP ở trạng thái trung lập mà không gặp vấn đề gì. Cũng +1 cho danh sách đẹp các thông số kỹ thuật máy tính có liên quan.
AndrejaKo

Tôi đã phải đối mặt với cùng một vấn đề dưới một số hệ điều hành trên cùng một máy tính. Trước đây, tôi đã sử dụng Linux Mint, Ubuntu, Slax, Fedora và tất cả có vẻ như tôi đang phải đối mặt với các vấn đề tương tự với việc sử dụng CPU. Tuy nhiên, tôi tin rằng nếu tôi có thể "điều chỉnh" đúng các cài đặt của máy ảo thì tôi "có thể" có thể nâng cao hiệu suất một chút.
Biên dịchCyborg

Giải pháp tạm thời mà tôi đang sử dụng tại thời điểm này là một vòng lặp vô hạn chạy lệnh bash để giải phóng pagecache, răng và inodes cứ sau 10 giây. VM của tôi đã có thể thở được một chút sau khi tôi nghĩ đến việc sử dụng kỹ thuật quái đản này mặc dù nó không phải là một cách làm đúng đắn mà là "hack".
Biên dịchCyborg

1
Đáng buồn thay, T2310 thiếu các tiện ích mở rộng ảo hóa VT-x ( ark.intel.com/ Productt.aspx? Id = 30031 ) và kết quả là Virtualbox sẽ sử dụng phần mềm để bắt tất cả các cuộc gọi cpu đặc quyền cao mà khách sẽ thực hiện, điều này có nghĩa là rằng Virtualbox sẽ sử dụng nhiều năng lượng CPU hơn để phục vụ cho hệ điều hành khách. Ngoài ra, tôi tò mò muốn xem liệu việc cung cấp cho HĐH khách 1GB RAM có thể giúp nó hoạt động tốt hơn không vì nó sẽ không cần phải thực hiện các lỗi trang đắt tiền trên máy chủ Virtualbox ...
Mokubai

Câu trả lời:


5

Xây dựng nhận xét của tôi ở trên T2310 thiếu các tiện ích mở rộng ảo hóa (VT-x) theo biểu dữ liệu CPU của bạn tại http://ark.intel.com/ Productt.aspx? Id = 323131

Từ bài viết Wikipedia này , có ba điều cơ bản sẽ gây ra sự suy giảm có thể đo lường được về hiệu năng của VM (và do đó làm tăng mức sử dụng CPU trên máy chủ:

  • Dịch nhị phân được sử dụng để viết lại một số hướng dẫn nhất định, như POPF, nếu không sẽ âm thầm hoặc hành xử khác đi khi thực hiện trên vòng 0 khiến cho việc ảo hóa bẫy và mô phỏng cổ điển là không thể. Để cải thiện hiệu suất, các khối cơ bản được dịch cần được lưu vào bộ đệm theo cách mạch lạc để phát hiện vá mã (ví dụ được sử dụng trong VxD), sử dụng lại các trang của HĐH khách hoặc thậm chí tự sửa đổi mã.

  • Một số cấu trúc dữ liệu quan trọng được sử dụng bởi bộ xử lý cần được làm mờ. Bởi vì hầu hết các hệ điều hành sử dụng bộ nhớ ảo được phân trang và cấp cho MMU khách truy cập trực tiếp vào MMU có nghĩa là người quản lý ảo hóa mất kiểm soát, một số công việc của MM86 x86 cần được sao chép trong phần mềm cho HĐH khách bằng kỹ thuật được gọi là bảng trang bóng. Điều này liên quan đến việc từ chối HĐH khách bất kỳ quyền truy cập nào vào các mục trong bảng trang thực tế bằng cách bẫy các lần truy cập và mô phỏng chúng trong phần mềm.

  • Mô phỏng thiết bị I / O: Các thiết bị không được hỗ trợ trên HĐH khách phải được mô phỏng bởi trình giả lập thiết bị chạy trong HĐH máy chủ.

Một hệ điều hành khách có khả năng nghe lỏm lớn cho các hoạt động yêu cầu sử dụng các hướng dẫn đặc quyền được yêu cầu và thông thường các chi phí này được giảm nhẹ bằng cách sử dụng các phần mở rộng ảo hóa AMD-V của Intels VT-x và AMD. Bộ xử lý của bạn thiếu các tiện ích mở rộng này và vì vậy tất cả các công việc chụp và mô phỏng sẽ gây ra một số mất hiệu suất.

Những đề xuất của tôi sẽ là:

  • Để cung cấp cho máy ảo nhiều bộ nhớ nhất cần thiết để giảm thiểu lượng phân trang cần thực hiện, có thể là 1GB trở lên tùy thuộc vào khối lượng công việc của bạn.

  • Vô hiệu hóa khả năng tăng tốc 3D vì tất cả các cuộc gọi đến trình điều khiển 3D có thể phải được đẩy qua lớp mô phỏng và do đó có thể tốn kém trên bộ xử lý của bạn.

  • Cài đặt Virtualbox Guest Additions cho hệ điều hành khách của bạn vì chúng sẽ sử dụng các trình điều khiển hỗ trợ tốt hơn cho môi trường ảo.

  • Giảm độ phân giải màn hình và các tùy chọn đồ họa trong hệ điều hành khách của bạn.

  • Giữ cho mạng (internet) truy cập ở mức hợp lý, các máy ảo bị ràng buộc nhiều mạng rất tốn kém ngay cả với VT-x và cũng được hưởng lợi từ VT-d (Công nghệ ảo hóa cho I / O được điều hướng), cũng không được bộ xử lý của bạn hỗ trợ.


2

Câu trả lời của tôi chỉ liên quan đến tiêu đề của câu hỏi, không liên quan đến văn bản khác của câu hỏi. Tôi nhấn mạnh vào việc sử dụng CPU nhàn rỗi với nhiều khách ảo hơn: (đủ bộ nhớ trống trên máy chủ).

Việc sử dụng CPU gây ra bởi audiodg.exequá trình trên máy chủ Windows khi chạy VirtualBox cao hơn tải của iddle khách. Bạn có thể dễ dàng giảm hoặc bỏ hoàn toàn bằng cách tắt hộp kiểm Âm thanh trong cài đặt máy khách Virtualbox trên tab Âm thanh. (Chỉ có thể bị vô hiệu hóa trên máy tính. Đóng.)

Quá trình audiodg.exe tiêu thụ khoảng 5% CPU cho một khách, nhưng tải trọng quan trọng trên máy tính xách tay trong các hoạt động nhàn rỗi điển hình như chỉnh sửa nguồn và nó có tác động lớn đến tần số CPU (giảm từ 80% đến 40%), tốc độ quạt và tuổi thọ pin trên máy tính xách tay. Nhiều máy ảo đang chạy của tôi thường không cần âm thanh hoặc chỉ đôi khi. (Vô hiệu hóa âm thanh trong hệ điều hành khách không có tác dụng, cả việc tạm dừng máy ảo, nhưng cài đặt máy khách ảo rất quan trọng.)

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.