Câu hỏi Tại sao một khách Ubuntu trong VirtualBox chạy rất, rất chậm?


Tôi đang sử dụng Ubuntu 12.04 LTS như một máy chủ, và tôi đã ảo hóa ba máy:

  • một Xubuntu 12.04 khách
  • khách Windows 7
  • Ubuntu 12,10 khách

Tất cả các khách có cùng cài đặt mặc định của VirtualBox, nhưng Ubuntu 12.10 thì chậm hơn!

Quá trình cài đặt mất 1h 40 phút! (Thông thường, phải mất 40 phút.) Bây giờ nó là không thể sử dụng nó, và tất cả các hoạt động rất, rất chậm.

Tôi đang sử dụng VirtualBox phiên bản 4.2.4.

Bất kỳ ý tưởng?

Tại sao nó lại chậm? Và làm thế nào tôi có thể làm cho nó nhanh hơn?


174
2017-10-28 19:26


gốc


Bạn đã thử xáo trộn các cấu hình chưa? Bạn đã thử cài đặt phiên bản khách chưa? - usr12390
Có, tôi đã cài đặt bổ sung khách, nhưng không có gì có vẻ thay đổi ... điều kỳ lạ là tôi đã cài đặt nhiều máy ảo với ubuntu hoặc bản phân phối khác nhưng chỉ Ubuntu 12.10 thực hiện việc này ... trong khi cài đặt, tôi đã để lại tất cả cài đặt theo mặc định, bao giờ hết; 2 máy ảo khác hoạt động tốt ... - Giorgio
Câu trả lời của Flimm dưới đây đã khắc phục vấn đề chậm chạp đối với tôi. askubuntu.com/a/214968/107015 - JS.


Các câu trả lời:


Tôi đã nghe nói rằng nó có liên quan đến thực tế họ đã xóa Unity 2Dhoặc bằng cách nào đó, việc chuyển sang 3D Unity chỉ làm chậm hiệu năng VM do sự phụ thuộc nặng nề vào CPU xử lý nhiều hơn mà nó thường phải làm. Các Linux Outlaws podcast đã nói về nó một chút, nhưng tôi quên tập.

Cập nhật: Vấn đề là với Virtualbox Guest Additions không cung cấp khả năng tăng tốc 3D trong 12.10. Xem Ubuntu 12.10 không thể sử dụng gia tốc 3D. Không xây dựng DRM.


36
2017-10-28 20:02



Tôi cũng nghĩ điều tương tự, vì sự khác biệt duy nhất giữa các máy tính ảo khác, là chỉ có sự hợp nhất 3D ... và tôi không thể sử dụng gia tốc 3D vì CPU của tôi là một mô hình cũ không có chức năng này ... , Tôi sẽ xử lý một bộ xử lý mới :) - Giorgio
Tôi không nghĩ rằng điều này là chính xác - nó thiếu sự hỗ trợ cho X Server 1.13 (bởi VirtualBox), không Unity gây ra vấn đề. Đó là một sự khác biệt quan trọng bởi vì thật dễ dàng để thay thế Unity (ví dụ: với XFCE), nhưng tôi không biết cách hạ cấp phiên bản mặc định của X Server. - Mzzzzzz
Tại sao bạn nói nó là một vấn đề X? Đối với tôi, trở lại gnome cố định nó ví dụ. Vì vậy, nó là một vấn đề của việc thay thế Unity, thay vì sau đó X? - Nanne
@ marcopolo1010, Xubuntu 12.10 có XServer 1.13 và có hiệu suất tốt trong VirtualBox (chắc chắn nhanh hơn nhiều so với Ubuntu 12.10). Vì vậy, nó phải là một vấn đề Unity. - ignis
Ngoài ra, nếu bạn đang sử dụng máy Mac, bạn có thể thử tăng số CPU bạn cung cấp cho khách. Điều này đã giúp tôi rất nhiều! Đây là nơi tôi có nguồn cho việc này: code.dimilow.com/ubuntu-12-10-slow-as-virtualbox-guest-os - Matt Wolfe


Ubuntu 12.10 không còn bao gồm Unity 2D, được triển khai cho các nền tảng không thể cung cấp khả năng tăng tốc 3D. Thay vào đó, Ubuntu 12.10 có Unity chạy dưới LLVM, tạo mã dành cho GPU chạy trên CPU. Nó chậm hơn nhiều so với sử dụng GPU.

Để kiểm tra xem máy khách Ubuntu 12.10 của bạn có sử dụng gia tốc 3D hay không, hãy chạy lệnh sau:

$ /usr/lib/nux/unity_support_test -p
Not software rendered:    no
Not blacklisted:          yes
GLX fbconfig:             yes
GLX texture from pixmap:  yes
GL npot or rect textures: yes
GL vertex program:        yes
GL fragment program:      yes
GL vertex buffer object:  yes
GL framebuffer object:    yes
GL version is 1.4+:       yes

Unity 3D supported:       no

Như bạn có thể thấy, "Không phải phần mềm được hiển thị" và "Unity 3D được hỗ trợ" đều trả về "không" trong ví dụ này, có nghĩa là Unity đang sử dụng LLVMpipe chậm.

Cách bật tăng tốc 3D (chỉ dành cho VirtualBox 4.2.x)

Những hướng dẫn này dành cho VirtualBox 4.2.4 hoặc 4.2.6, được cài đặt từ trang web của VirtualBox, không phải từ repo của Ubuntu. Các phiên bản tương lai của VirtualBox có thể tự động khắc phục sự cố này hoặc có thể cần giải pháp khác.

  1. Cài đặt VirtualBox Oracle VM VirtualBox Extension Pack.
  2. Tạo một cá thể VirtualBox và cài đặt Ubuntu 12.10 trên đó.
  3. Cài đặt một số gói bắt buộc cho các khách bổ sung:

    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  4. Cài đặt các bổ sung của khách bằng cách nhấn vào Devices, Install Guest Additions và chạy lệnh này từ thư mục của đĩa CD-ROM:

    sudo ./VBoxLinuxAdditions.run
    
  5. Thêm vboxvideo trình điều khiển cho cá thể bằng cách chạy:

    sudo bash -c 'echo vboxvideo >> /etc/modules'
    
  6. Tắt phiên bản VirtualBox.
  7. Mở cài đặt của cá thể Virtualbox, điều hướng đến "Hiển thị" và chọn "Bật tăng tốc 3D".
  8. Khởi động máy khách Ubuntu 12.10 của bạn và kiểm tra khả năng tăng tốc 3D đang hoạt động bằng cách chạy:

    /usr/lib/nux/unity_support_test -p
    

Nếu cửa sổ có vẻ làm tan biến, cài đặt CompizConfig Settings Manager và vô hiệu hóa Framebuffer Object (FBO) trong phần OpenGL:

  1. Cài đặt Trình quản lý cài đặt CompizConfig:

    sudo apt-get install compizconfig-settings-manager
    
  2. Chạy trình quản lý cài đặt CompizConfig:

    ccsm
    
  3. Chọn phần OpenGL và sau đó bỏ chọn tùy chọn đối tượng Framebuffer. Nếu điều này khắc phục được sự cố, vấn đề sẽ hiển thị ngay lập tức. Không cần khởi động lại.

281
2017-11-09 11:43



Đây là một sửa chữa tuyệt vời, và xứng đáng với nhiều upvotes. - hexafraction
Trên bản cài đặt Ubuntu 12.10 mới của tôi (sử dụng VirtualBox 4.2.4 trên Mac OS X 10.6), điều này chắc chắn đã đẩy nhanh mọi thứ ... nhưng có rất nhiều lỗi với màn hình. Windows biến mất, trình khởi chạy không hiển thị trừ khi dấu gạch ngang mở, v.v. - Benjamin Oakes
"Không phải phần mềm được hiển thị" là tên thuộc tính rất khó hiểu: S - Adam Harte
@reprogrammer: Tôi đã có cùng một vấn đề. Hãy thử các gói bổ sung từ repo của Ubuntu thay vì các gói mới nhất đi kèm với VirtualBox. Làm điều này bằng cách chạy: sudo apt-get remove virtualbox-guest-additions (điều này sẽ xóa những thứ bạn đã cài đặt) sudo apt-get install virtualbox-guest-additions (cài đặt này từ repo mặc định) Tiếp theo mở các trình điều khiển bổ sung trong cài đặt (hoặc thông qua các nguồn phần mềm> trình điều khiển bổ sung trên các phiên bản mới nhất của Ubuntu) và chọn trình điều khiển rõ ràng. - labsin
Tôi không thể làm điều này để làm việc với VirtualBox 4.3.12. Giải pháp cho tôi cho VirtualBox 4.3.12 là cài đặt phiên bản GuestAdditions mới hơn như được tham chiếu tại đây: virtualbox.org/ticket/12941 Đặc biệt, virtualbox.org/download/testcase/… - Gordon Glas


Dường như các nhà phát triển phần mềm VirtualBox đang làm việc trên một giải pháp, nhưng nó chưa sẵn sàng - xem bài đăng trên diễn đàn Thảo luận về bản phát hành 4.2.4.

Có một chủ đề thảo luận về bài đăng này trong bài đăng bốn mươi Ubuntu 12.10 "hầu như" không sử dụng được


11
2017-10-29 14:58





Tôi không biết về các thiết lập GUI cần thiết để làm cho Unity có thể sử dụng được bên trong một máy ảo, nhưng tôi biết cách điều chỉnh các máy ảo theo virtualbox, KVM và các máy ảo khác. Tôi chưa bao giờ có may mắn làm cho Unity hoạt động tốt trong bất kỳ môi trường ảo nào. Không bao giờ cố gắng quá nhiều, thích sử dụng WM thuần túy hoặc DE dựa trên LXDE.

Cài đặt chi tiết hơn ở đây: http://blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox

Tóm lược: 

  • Mặc định Vbox không tốt cho các bản phát hành Ubuntu giống như một GPU thực.
  • Trên ổ cứng quay, trước khi cấp phát toàn bộ đĩa ảo. Trên SSD, nó không quan trọng.
  • Chỉ phân bổ dung lượng bạn cần. Giữ các tệp lớn ở nơi khác, bên ngoài vStorage.
  • Không bao giờ phân bổ nhiều CPU hoặc RAM hơn bạn nên. 1 vCPU có lẽ là đủ.
  • Để lại 1GB RAM cho HostOS. Đừng quá cam kết RAM.
  • Sử dụng Trình điều khiển VirtIO để lưu trữ và kết nối mạng. Khách Linux hiện đại hỗ trợ điều này.
  • Đối với khách Windows, sử dụng trình điều khiển SATA (lưu trữ) và Intel PRO / 1000 (mạng). Có thể sử dụng trình điều khiển virtio trong Windows, nó chỉ là một chút khó khăn hơn.
  • Bật ACPI và AHCI cho tất cả khách từ năm 2003, WinXP trở lên.
  • Desktop VMs sẽ nhận được tất cả 128MB hiển thị vRAM
  • VM máy chủ nên ở lại với 9MB vram; đừng lãng phí nó.
  • Tránh cài đặt tăng tốc 2D và 3D, cho đến khi bạn có mọi thứ khác theo cách bạn muốn. Ubuntu / Unity làm những điều xấu khi điều này được kích hoạt. Nó có thể mang Core i7 xuống đất.

Có rất nhiều mẹo hiệu năng GUI trong các câu trả lời khác. Đó có lẽ là hợp lệ. Những lời khuyên tương tự áp dụng cho KVM, VM-Player và các ảo hóa ảo khác. Những máy chủ này cũng hoạt động.

Chúc may mắn.


7
2018-02-10 19:16



Bài đăng trên blog bạn đã liên kết là dành cho Ubuntu 12.04. Ubuntu 12.10 là khác nhau đáng kể, bởi vì nó không còn bao gồm Unity 2D, và Unity bình thường hiển thị trên LLVMPipe khi nó không phát hiện khả năng tăng tốc phần cứng. - Flimm
Máy khách Ubuntu Server của tôi đã trở thành nhiều nhanh hơn sau khi tôi thay đổi bộ nhớ video từ ~ 8MB đến 128MB. Tôi sử dụng nó để phát triển Rails.


Tôi đã có kết quả tốt bằng cách chuyển từ Unity sang GNOME dự phòng. Bạn có thể làm điều này bằng cách cài đặt GNOME-session-fallback từ trung tâm phần mềm, sau đó chọn nó trên màn hình đăng nhập.

xem: http://www.psychocats.net/ubuntu/classicgnome cho một cách chi tiết ngẫu nhiên


4
2017-10-29 14:16



Trong Ubuntu 16.04 tên gói là gnome-session-flashback. Đây là điều duy nhất có vẻ tạo nên sự khác biệt trong hiệu suất ui đối với tôi. cảm ơn! - Mustafa


Để bật hỗ trợ 3D, hãy nắm bắt bạn sẽ cần phải cập nhật tiêu đề linux

$ uname -r
$ sudo apt-get install linux-headers-$(uname -r)
$ sudo apt-get autoremove
$ sudo apt-get install build-essential

Bây giờ chèn iso vitualbox khách từ thiết bị và cài đặt theo cách thủ công

$ cd /media
$ ls
$ cd username
$ ls
$ cd VBOX*
$ ls
$ sudo ./VBoxLinuxAdditions.run

Chèn vboxvideo vào / etc / modules

$ sudo nano /etc/modules

Thêm “vboxvideo” vào cuối tệp

loop
lp
vboxvideo

Khởi động lại máy

$ sudo reboot

Kiểm tra "Không phải phần mềm được hiển thị" và "Hỗ trợ 3D Unity" được bật hay không sau khi khởi động lại

$ /usr/lib/nux/unity_support_test -p

Điều tiếp theo bạn muốn làm là tăng bộ nhớ video. Tìm tệp .vbox

$ nano /home/username/VirtualBox VMs/ubuntu/ubuntu.vbox

Thay thế

<Display VRAMSize="128" monitorCount="1" accelerate3D="true" accelerate2DVideo="false"/>

Đến

<Display VRAMSize="256" monitorCount="1" accelerate3D="true" accelerate2DVideo="false"/>

nguồn: Cách khắc phục hiệu năng chậm ubuntu 13.04 chạy trong hộp ảo


1
2018-02-21 02:58