Mengapa tamu Ubuntu di VirtualBox berjalan sangat, sangat lambat?

176

Saya menggunakan Ubuntu 12,04 LTS saat ini sebagai mesin host, dan saya telah melakukan virtualisasi tiga mesin:

  • tamu Xubuntu 12.04
  • tamu Windows 7
  • tamu Ubuntu 12.10

Semua tamu memiliki pengaturan default VirtualBox yang sama, tetapi Ubuntu 12.10 lebih lambat!

Instalasi membutuhkan waktu 1 jam 40 menit! (Biasanya, dibutuhkan 40 menit.) Sekarang tidak mungkin untuk menggunakannya, dan semua operasi sangat, sangat lambat.

Saya menggunakan VirtualBox versi 4.2.4.

Ada ide?

Kenapa lambat? Dan bagaimana saya bisa membuatnya lebih cepat?

Giorgio
sumber
Sudahkah Anda mencoba bermain-main dengan konfigurasi? Sudahkah Anda mencoba menginstal edisi tamu?
usr12390
Ya saya telah menginstal tambahan tamu, tetapi tampaknya tidak ada yang berubah ... yang aneh adalah bahwa saya telah menginstal banyak mesin virtual dengan ubuntu atau distro lain tetapi hanya Ubuntu 12.10 yang melakukan ini ... selama instalasi saya telah meninggalkan semua pengaturan secara default, seperti biasa; 2 mesin virtual lainnya berfungsi dengan baik ...
Giorgio
2
Jawaban Flimm di bawah ini memperbaiki masalah kelambatan saya. askubuntu.com/a/214968/107015
JS.

Jawaban:

36

Saya telah mendengar itu ada hubungannya dengan fakta mereka menghapus Unity 2D , atau entah bagaimana beralih ke 3D Unity hanya memperlambat kinerja VM karena ketergantungan yang besar pada penanganan CPU lebih dari yang seharusnya. The Linux Outlaws podcast membicarakannya sedikit, tapi saya lupa episode.

Pembaruan: Masalahnya dengan Penambahan Tamu Virtualbox tidak memberikan akselerasi 3D di 12.10. Lihat Ubuntu 12.10 tidak dapat menggunakan akselerasi 3D. Gagal membangun DRM .

Bret
sumber
Saya sudah memikirkan hal yang sama, karena satu-satunya perbedaan antara PC Virtual lainnya, adalah hanya ada 3D persatuan ... dan saya tidak dapat menggunakan akselerasi 3D karena CPU saya adalah model lama tanpa fungsi ini ... jadi , Saya akan mengambil satu Prosesor baru :)
Giorgio
1
Saya tidak berpikir ini akurat - kurangnya dukungan untuk X Server 1.13 (oleh VirtualBox), bukan Unity yang menyebabkan masalah. Ini perbedaan penting karena mudah untuk menggantikan Unity (misalnya, dengan XFCE), tapi saya tidak tahu cara menurunkan versi default Server X.
Mzzzzzz
1
Mengapa Anda mengatakan itu adalah masalah X? Bagi saya, jatuh kembali ke gnome memperbaikinya misalnya. Jadi itu masalah penggantian Unity, bukan X?
Nanne
@ marcopolo1010, Xubuntu 12.10 memiliki XServer 1.13 dan memiliki kinerja yang baik di VirtualBox (pasti jauh lebih cepat daripada Ubuntu 12.10). Jadi itu harus menjadi masalah Persatuan.
ignis
Juga, jika Anda menggunakan mac, Anda dapat mencoba meningkatkan # CPU yang Anda berikan kepada tamu. Ini sangat membantu saya! Di sinilah saya mendapatkan sumber untuk ini: code.dimilow.com/ubuntu-12-10-slow-as-virtualbox-guest-os
Matt Wolfe
281

Ubuntu 12.10 tidak lagi termasuk Unity 2D , yang diterapkan untuk platform yang tidak dapat memberikan akselerasi 3D. Sebaliknya, Ubuntu 12.10 memiliki Unity berjalan di bawah LLVM, membuat kode yang dimaksudkan untuk GPU dijalankan pada CPU. Ini jauh lebih lambat daripada menggunakan GPU.

Untuk memeriksa apakah tamu Ubuntu 12.10 Anda menggunakan akselerasi 3D, jalankan perintah ini:

$ /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

Seperti yang Anda lihat, "Bukan perangkat lunak yang diberikan" dan "3D Unity didukung" keduanya mengembalikan "tidak" dalam contoh ini, yang berarti Unity menggunakan LLVMpipe lambat.

Cara mengaktifkan akselerasi 3D (hanya VirtualBox 4.2.x)

Instruksi ini dimaksudkan untuk VirtualBox 4.2.4 atau 4.2.6, diinstal dari situs web VirtualBox, bukan dari repo Ubuntu. Versi masa depan dari VirtualBox dapat memperbaiki masalah ini secara otomatis, atau mungkin memerlukan solusi yang berbeda.

  1. Instal VirtualBox Oracle VM VirtualBox Extension Pack.
  2. Buat instance VirtualBox dan instal Ubuntu 12.10 di atasnya.
  3. Instal beberapa paket yang diperlukan untuk penambahan tamu:

    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  4. Instal tambahan tamu dengan mengklik Perangkat, Instal Tambahan Tamu dan menjalankan perintah ini dari direktori CD-ROM:

    sudo ./VBoxLinuxAdditions.run
    
  5. Tambahkan vboxvideodriver ke instance dengan menjalankan:

    sudo bash -c 'echo vboxvideo >> /etc/modules'
    
  6. Matikan instance VirtualBox.
  7. Buka pengaturan instance Virtualbox, navigasikan ke "Tampilan", dan centang "Aktifkan akselerasi 3D".
  8. Boot tamu Ubuntu 12.10 Anda, dan periksa apakah akselerasi 3D berfungsi dengan menjalankan:

    /usr/lib/nux/unity_support_test -p
    

Jika windows tampaknya hilang , instal CompizConfig Settings Manager dan nonaktifkan Framebuffer Object (FBO) di bagian OpenGL:

  1. Instal CompizConfig Settings Manager:

    sudo apt-get install compizconfig-settings-manager
    
  2. Jalankan CompizConfig Settings Manager:

    ccsm
    
  3. Pilih bagian OpenGL dan kemudian hapus centang opsi Framebuffer Object. Jika ini memperbaiki masalah itu harus segera terlihat. Tidak perlu reboot.
Flimm
sumber
28
Ini adalah perbaikan yang hebat, dan layak mendapatkan banyak upvotes.
ζ--
4
Pada instalasi baru saya Ubuntu 12.10 (menggunakan VirtualBox 4.2.4 pada Mac OS X 10.6), ini jelas mempercepat ... tetapi ada banyak bug dengan tampilan. Windows menghilang, peluncur tidak muncul kecuali tanda hubung terbuka, dll.
Benjamin Oakes
12
"Bukan peranti lunak yang dibuat" adalah nama properti yang sangat membingungkan: S
Adam Harte
2
@reprogrammer: Saya punya masalah yang sama. Coba paket tambahan dari repo Ubuntu dan bukan yang terbaru yang datang dengan VirtualBox. Lakukan ini dengan menjalankan: sudo apt-get remove virtualbox-guest-additions(ini menghapus yang Anda instal) sudo apt-get install virtualbox-guest-additions(ini menginstal yang dari repo default) Selanjutnya buka driver tambahan dalam pengaturan (atau melalui sumber perangkat lunak> driver tambahan pada rilis terbaru Ubuntu) dan pilih yang jelas .
labsin
6
Saya tidak bisa menjalankan ini dengan VirtualBox 4.3.12. Solusi bagi saya untuk VirtualBox 4.3.12 adalah menginstal versi GuestAdditions yang lebih baru seperti yang dirujuk di sini: virtualbox.org/ticket/12941 Secara khusus, virtualbox.org/download/testcase/…
Gordon Glas
7

Saya tidak tahu tentang pengaturan GUI yang diperlukan untuk membuat Unity dapat digunakan di dalam VM, tapi saya tahu cara menyetel VM di bawah virtualbox, KVM, dan lainnya. Saya tidak pernah beruntung membuat Unity bekerja dengan baik di lingkungan virtual mana pun. Jangan pernah mencoba terlalu keras, lebih suka menggunakan WM murni atau DE berbasis LXDE.

Pengaturan lebih rinci ada di sini: http://blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox

Ringkasan:

  • Default Vbox tidak baik untuk rilis Ubuntu yang seperti GPU nyata.
  • Pada pemintalan HDD, pra-alokasikan seluruh disk virtual. Pada SSD, tidak masalah.
  • Alokasikan hanya penyimpanan yang Anda butuhkan. Simpan file besar di tempat lain, di luar vStorage.
  • Jangan pernah mengalokasikan lebih banyak CPU atau RAM daripada yang seharusnya. 1 vCPU mungkin cukup.
  • Biarkan 1GB RAM untuk HostOS. Jangan terlalu banyak melakukan RAM.
  • Gunakan driver VirtIO untuk Penyimpanan dan Jaringan. Tamu Linux modern mendukung ini.
  • Untuk tamu Windows, gunakan driver SATA (penyimpanan) dan Intel PRO / 1000 (jaringan). Dimungkinkan untuk menggunakan driver virtio di bawah Windows, itu hanya sedikit lebih sulit.
  • Aktifkan ACPI dan AHCI untuk semua tamu mulai tahun 2003, WinXP, dan yang lebih baru.
  • VM desktop harus mendapatkan semua 128MB tampilan vRAM
  • Server VM harus tetap dengan 9MB vRAM; jangan sia-siakan.
  • Hindari pengaturan akselerasi 2D dan 3D, hingga semua yang lain berfungsi sesuai keinginan Anda. Ubuntu / Unity melakukan hal-hal buruk ketika ini diaktifkan. Itu dapat membawa Core i7 ke tanah.

Ada banyak tips kinerja GUI di jawaban lain. Itu mungkin juga berlaku. Tips yang sama berlaku untuk KVM, VM-Player, dan hypervisor virtual lainnya. Ini juga berfungsi untuk server.

Semoga berhasil.

JohnP
sumber
2
Posting blog yang Anda tautkan adalah untuk Ubuntu 12.04. Ubuntu 12.10 sangat berbeda, karena tidak lagi termasuk Unity 2D, dan Unity normal merender melalui LLVMPipe ketika tidak mendeteksi akselerasi perangkat keras.
Flimm
2
Tamu Ubuntu Server saya menjadi jauh lebih cepat setelah saya mengubah memori video dari ~ 8MB menjadi 128MB. Saya menggunakannya untuk pengembangan Rails.
4

Saya mendapatkan hasil yang baik dengan pindah kembali dari Unity ke GNOME yang mundur. Anda dapat melakukan ini dengan hanya menginstal GNOME-session-fallback dari pusat perangkat lunak, dan kemudian memilihnya pada layar masuk.

lihat: http://www.psychocats.net/ubuntu/classicgnome untuk howto terperinci acak

Nanne
sumber
Di Ubuntu 16.04 nama paketnya adalah gnome-session-flashback. Ini adalah satu-satunya hal yang tampaknya membuat perbedaan dalam kinerja ui bagi saya. Terima kasih!
Mustafa
1

Untuk mengaktifkan 3D yang didukung, tinju Anda perlu memperbarui linux-header

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

Sekarang masukkan iso tamu vitualbox dari perangkat dan untuk menginstal secara manual

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

Masukkan vboxvideo ke / etc / modules

$ sudo nano /etc/modules

Tambahkan "vboxvideo" di akhir file

loop
lp
vboxvideo

Nyalakan ulang mesin

$ sudo reboot

Periksa ”Not software rendered” dan “Unity 3D didukung” diaktifkan atau tidak setelah reboot

$ /usr/lib/nux/unity_support_test -p

Hal berikutnya yang ingin Anda lakukan adalah menambah memori video. Cari file .vbox

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

Menggantikan

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

Untuk

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

sumber: Cara memperbaiki kinerja lambat ubuntu 13.04 berjalan di virtualbox


sumber