2010-07-30 19 views
14

Sono un utente Linux di Ubuntu e utilizzo Windows XP solo per scopi di lavoro.Programmazione sotto macchina virtuale - pro e contro

Ultimamente ho configurato una macchina virtuale con XP + Visual Studio 2008 (basato su kvm-quemu).

Le mie domande sono:

  • ho nessuno ha cercato di lavorare in modo efficiente in ambiente impostato su VM? Ci sono problemi di prestazioni? Ad esempio, le prestazioni leggermente peggiori in VM influiscono sulla normale efficienza?

  • Ci sono altri (oltre alle prestazioni) aspetti negativi dello sviluppo di software sotto VM? Ci sono problemi che non sarei in grado di rilevare/risolvere in tale ambiente? (stiamo parlando di sviluppare una sorta di progetto più grande, creando un'applicazione per ambiente Win, senza hardware o roba incorporata).

+0

Quanto è grave la performance? – NullUserException

+0

Non l'ho ancora testato più a fondo. Sono in esecuzione VM su Core 2 Duo a 2.0 GHz/3 GB di RAM/512 MB di grafica n-vidia e sto ancora testando diverse cose di emulazione hardware VM, come la RAM fornita ecc. – Gacek

risposta

12

faccio tutto il mio lavoro cliente in macchine virtuali e una grande quantità di il mio hobby lavora su VM. Il sistema operativo host è Windows 7 e, a meno che il mio cliente abbia una preferenza diversa, io uso l'eccellente VirtualBox.

Possiedo un laptop moderatamente potente che supporta la virtualizzazione dell'hardware e se eseguo Linux o Windows XP come guest O/S, le prestazioni non sembrano essere un fattore limitante per me. Una tecnica essenziale per prevenire un impatto sulle prestazioni è avere il disco della macchina virtuale su un mandrino diverso da quello principale del mio computer. Uso un disco rigido esterno USB 2. Funziona alla grande.

Per me, il vantaggio di essere in grado di configurare il mio ambiente di sviluppo in modi molto specifici per i progetti molto specifici è inestimabile. Riduce notevolmente le incertezze che vengono introdotte da avere più versioni di linguaggi di programmazione, le librerie e le funzioni del sistema operativo per supportare più progetti. Sono molto raramente sorpreso da insetti oscuri che sono causate da interazioni inattese di componenti che sanguinano da un progetto all'altro.

+1

Grazie per la risposta. Sembra che la virtualizzazione abbia più vantaggi di quanto pensassi – Gacek

1

Il mio negozio sviluppa soluzioni SharePoint. Il nostro ambiente di sviluppo su macchine virtuali. Altro che il colpo di prestazioni (che non è poi così male - abbiamo macchine veramente veloci) e l'uso tremendo dello spazio su disco, non vediamo effetti negativi.

Ci piace molto, i pro facilmente superano negativi: possiamo riavviare il nostro ambiente più veloce, possiamo facilmente il backup di un hdd virtuale, siamo in grado di passare rapidamente VM e prova su un sistema operativo diverso, se noi crash la "macchina" stiamo rapidamente eseguendo il backup e funzionando senza danneggiare il nostro host OS

+0

Per uso di spazio su disco intendi tenere tutto intero Immagini HDD per macchine virtuali? O forse qualcos'altro? – Gacek

+0

le immagini HDD possono essere grandi - abbiamo impostato il nostro con un minimo di 30 GB. –

0

I problemi di prestazioni sono indipendenti dalla macchina. Diamine, a volte ho problemi con VS/Windows su metallo quando le macchine con cui lavoro sono impantanate a causa di basse specifiche o confusione aziendale (schifo le installazioni aziendali per te.)

I tuoi problemi principali essere su disco e su memoria. Quindi dai alla VM tutta la memoria che puoi e se possibile lasciala girare su un vero disco rigido invece che su un IO virtuale.

+0

Grazie Matteo. Non sapevo di poter eseguire VM dal vero disco. Deve controllare se Quemu lo fornisce. Ma grazie per avermi indicato in quella direzione. – Gacek

+0

Non so se anche 'quemu' lo supporta, ma potrebbe valere la pena di esaminarlo. Se non puoi dedicare un disco, puoi almeno prendere in considerazione una seconda partizione. Non veloce quanto il proprio disco ma molto meglio dell'IO virtuale. (Sempre supponendo che il software VM lo supporti.) –

1

Sono un utente di Win7, ma la mia azienda (lavoro da remoto) utilizza Windows XP e tutte le macchine che si trovano all'interno della rete aziendale (anche tramite VPN) devono disporre di un set di applicazioni che non desidero per installare sul mio notebook così ho creato una VM con VMWarePlayer e sta facendo un lavoro abbastanza decente. Non è come quello vero, ma i professionisti compensano gli svantaggi.

Pro:

  • Io non è necessario installare il software spazzatura sulla mia macchina
  • Io non devono utilizzare i della società internet, quindi non sto sotto E' politica di controllo
  • posso installare qualsiasi software che voglio nell'ospite poiché sto suggerimenti o esso

C Mi eccita:

  • La performance è un po 'peggio di quanto potrebbe essere se io non't usando VM
+0

Se si utilizza Windows 7, perché non si utilizza il supporto VM incorporato? È anche possibile utilizzare la modalità intergata con le versioni 'Home'. La parte interessante è che le app ospitate possono agire proprio come sono installate localmente mentre si isola la merda che la tua azienda richiede sia installata. –

+0

Sono un utente di Windows 7 Pro che utilizza VirtualBox anziché l'integrazione di VirtualPC. Prima che fosse integrato, ho usato VPC su XP e Vista, e non mi piaceva molto. Sembrava l'host di virtualizzazione meno potente e capace disponibile. Ho iniziato a utilizzare VirtualBox e mi ha impressionato con le sue vaste capacità, incluso il supporto USB. VBox mi consente anche di far funzionare le finestre della mia macchina virtuale direttamente sul mio desktop. –

2

Le due cose più fastidiose quando si utilizza un ambiente di sviluppo in una macchina virtuale

  • la macchina virtuale ottenere di solo una frazione di del sistema ospite principale della memoria

  • se si dispone di riavviare il vostro ospite , si dovrà attendere per l'host e per la macchina virtuale per riavviare

Un altro problema potrebbe essere quando l'applicazione richiede alcuni driver speciali, ad esempio un driver della chiave di licenza. Abbiamo fatto l'esperienza che non tutti i vendor VM può fare con questo (per noi, VMWare andava bene, tutti gli altri vendor che abbiamo provato non ha funzionato).

1

Sviluppo e test regolarmente utilizzando gli ambienti di sviluppo in esecuzione su VMWare Workstation e VirtualBox. Se hai una workstation abbastanza robusta, non dovresti vedere troppi colpi di performance. L'unica volta che ho avuto problemi è quando ho eseguito molte (5+) istanze di Visual Studio in una VM o più di due o tre VM sullo stesso sistema.

C'è un argomento abbastanza valido per essere in grado di eseguire snapshot, ripristinare e ridistribuire l'ambiente di sviluppo a proprio piacimento, anche se in pratica altri strumenti di cui si può aver bisogno possono limitare questo -sistema di controllo delle risorse, ad esempio.