PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie haltet ihr das: Entwicklungsumgebung in der VM?


Gast
2011-12-18, 20:52:26
hallo,
wie haltet ihr das? mit meinem pc surfe ich, schreibe texte, bearbeite photos, spiele aber programmiere ich auch. gerade bei größeren projekten finde ich die vermischung von "arbeiten, programmieren" und "home pc" sehr unschön.
teilweise ist die einrichtung der IDE mit plugins schon sehr frickelig, den stand würde ich gerne irgendwie sichern. bisher habe ich teilweise einfach den ganzen elipse-ordner kopiert um z.b. projekte auf meinen laptop zu übertragen, nicht schön, hat aber ganz gut funktioniert.

wie sichert ihr eure arbeitsumgebung? arbeitet ihr in VMs? trotz meines 3 ghz dualcore mit 4 gb ram finde ich das blose bedienen von einem OS in der VM leider doch merkbar "zäher" ist... ansich finde ich die idee, für jedes projekt eine arbeitsumgebung zu haben sehr reizvoll.. wie sehr ihr das ganze?

Thunderhit
2011-12-18, 21:42:15
Wozu trennen? Rechner haben genug Arbeitsspeicher und Prozessorleistung, um parallel solche Dinge abarbeiten zu lassen (wenns nicht gerade die Kompilierung einer Software ist, die den ganzen Ram braucht). Also ist das Trennen nicht mehr nötig.
Nur Eclipse ist "frickelig", weil es dort bei mir vor allem die Plugins sind, die dann mit gesichert werden, dazu wird eben das ganze Programm kopiert. Visual Studio hat das nicht bzw. nutze ich es kaum, kann daher nicht sagen, wie das bei anderen aussieht.

Exxtreme
2011-12-18, 22:21:08
Eclipse lässt sich problemlos kopieren da es von vorneherein darauf ausgelegt ist. Und in der VM würde ich keine IDE betreiben da diese idR. beträchtlich langsamer läuft. Und gerade Eclipse lebt von guter IO-Leistung. Allerhöchstens zu Testzwecken würde ich sowas in einer VM laufen lassen.

Jonny1983
2011-12-18, 22:36:00
Hol dir ne SSD dann läuft es nicht mehr zäh.

Gast
2011-12-18, 22:38:12
bisher habe ich teilweise einfach den ganzen elipse-ordner kopiert um z.b. projekte auf meinen laptop zu übertragen, nicht schön, hat aber ganz gut funktioniert.
Für sowas gib es Versionskontrollsysteme (z.B. SVN oder git). Einfach eclipse auf dem PC und dem Laptop einrichten und die Übertragung der Programmdaten via Repository regeln.

Alles andere endet zwangsläufig im Chaos.

Shink
2011-12-19, 09:13:01
Eclipse lässt sich problemlos kopieren da es von vorneherein darauf ausgelegt ist. Und in der VM würde ich keine IDE betreiben da diese idR. beträchtlich langsamer läuft. Und gerade Eclipse lebt von guter IO-Leistung. Allerhöchstens zu Testzwecken würde ich sowas in einer VM laufen lassen.
Naja, da fallen mir schon ein paar Gründe ein:
- Die virtuellen Speicheradressen können einem mit 2 Eclipse-Instanzen schon mal ausgehen bei einem 32 Bit-Betriebssystem.
- Windows erlaubt für Programmaufrufe nur eine gewisse Anzahl von Zeichen. Dummerweise ist der Aufruf eines Java-Programmes in Eclipse ein Programmaufruf - und da werden sämtliche Parameter und der ganze Classpath mitgegeben. Der Classpath kann bei Verwendung eines Modulsystems schon einmal zu lang werden und ein Start resultiert in einem "Error 87". Wenn es keine Chancen gibt den Classpath zu kürzen kann man z.B. auf Linux umsteigen - oder eben ein Linux-Image starten.

Für sowas gib es Versionskontrollsysteme (z.B. SVN oder git). Einfach eclipse auf dem PC und dem Laptop einrichten und die Übertragung der Programmdaten via Repository regeln.

Alles andere endet zwangsläufig im Chaos.
Er meinte wohl den Eclipse-Ordner und nicht den Workspace-Ordner.
Der Eclipse-Ordner beinhaltet großteils binäre Daten und sollte somit natürlich nicht eingecheckt werden.

Gast
2011-12-19, 09:39:59
Er meinte wohl den Eclipse-Ordner und nicht den Workspace-Ordner.
Der Eclipse-Ordner beinhaltet großteils binäre Daten und sollte somit natürlich nicht eingecheckt werden.
Da er von "Projekten" sprach, bin ich vom Workspace-Ordner ausgegangen. Der eclipse-Programmordner hat im Repo natürlich nichts verloren. :D

Ganon
2011-12-19, 10:18:27
Kommt auf die IDE an. IDEs wie Eclipse oder Netbeans lassen sich ja relativ leicht wieder entfernen.

Aber solche fetten Teile wie Visual Studio landen bei mir in einer VM, ganz einfach weil die IDE sich so dermaßen im System breit macht...

Ectoplasma
2011-12-19, 10:36:02
Kommt auf die IDE an. IDEs wie Eclipse oder Netbeans lassen sich ja relativ leicht wieder entfernen.

Aber solche fetten Teile wie Visual Studio landen bei mir in einer VM, ganz einfach weil die IDE sich so dermaßen im System breit macht...

Im Prinzip mache ich es genauso. Wobei ich Visual Studio 2008 Express 64 Bit auch auf meinem "richtigen" PC installiert habe. Als Test- und Evaluierungsumgebung für neuere IDEs, eignet sich eine VM hervorragend. Bei Visual 2010 Express, weiss ich z.B., dass dieses Zeugs bestimmt nicht auf meinen richtigen PC landet.

Eine VM eigent sich auch hervorragend in einem Team. Eine Person setzt z.B. ein Java Projekt mit Eclipse in einer VM auf und die anderen brauchen diese dann nur noch zu nutzen. So machen wir es z.B. oft in unserer Firma. Oft kommen dann noch andere Tools wie Maven mit einem speziellen Setup hinzu, weil man z.B. beim Kunden auf bestimmte Repository-Server zugreifen muss. Es ist einfach unglaublich Zeitsparend, soetwas dann schon fertig zu haben.

Gast_samm
2011-12-19, 10:42:46
Drei Gründe dafür:

1. Ich habe auch schon für einen Arbeitgeber einiges erledigt, der seine Entwicklungsumgebung auf festgelegte Art konfiguriert haben wollte, unabhängig vom Arbeitsplatz und der Systemumgebung der Entwickler (sowohl lokal beim Arbeitgeber arbeitenden als auch im homeoffice oder per Laptop irgendwo). Er stellte eine VM zur Verfügung, die von allen zu verwenden war. Fand ich durchaus sinnvoll.

2. Dito für testing, wenn etwas schnell in verschiedenen OS-Umgebungen getestet werden soll.

3. Mühsame IDEs, die sehr von der Systemumgebung abhängen, wie VS (das sich schon sehr in Windows einnistet) oder Netbeans (das zumindest zu der Zeit, als ichs noch benutzte, sehr an der installierten und keinesfalls zu updatenden Java-Version hing)


Momentan arbeite ich aber ohne VM...

Frucht-Tiger
2011-12-19, 11:08:32
Hatte auch schon Kunden gehabt, bei denen man nur auf einer VM arbeiten durfte. Morgens anrufen, Sicherheits-Token abholen und dann konnte man 10h auf der VM in der Testumgebung entwickeln. Macht Sinn wenn man externe Mitarbeiter hat und die Entwicklungsumgebung Zugriff auf kritische Ressourcen benötigt, z.B. bei der Datenbankentwicklung.

PatkIllA
2011-12-19, 11:30:35
Naja, da fallen mir schon ein paar Gründe ein:
- Die virtuellen Speicheradressen können einem mit 2 Eclipse-Instanzen schon mal ausgehen bei einem 32 Bit-Betriebssystem.Können sie nicht, da jede Instanz ihren eigenen Adressraum hat. Auch auf einem 32 Bit OS können mehrere Programme je 2 GiB belegen. Aufgrund der 4 GB Hauptspeicherlimitierung wird das dann aber übles geswappe. Da hilft eine VM auch nicht weiter.

Ich hab die IDE aus Geschwindigkeitsgründen auch lieber auf dem echten Rechner.

Shink
2011-12-19, 11:41:04
Können sie nicht, da jede Instanz ihren eigenen Adressraum hat. Auch auf einem 32 Bit OS können mehrere Programme je 2 GiB belegen. Aufgrund der 4 GB Hauptspeicherlimitierung wird das dann aber übles geswappe. Da hilft eine VM auch nicht weiter.
Hmm... also wenn ich längere Zeit 2 Workspaces in 2 Eclipse-Instanzen laufen lasse malt mein Windows XP irgendwann bei neu geöffneten Anwendungen keine Bilder mehr in Buttons und der Kübel wird derbst instabil.
Ich hätte jetzt eigentlich vermutet dass eine VM ihn nicht in der Hinsicht aus der Fassung bringen kann.

PatkIllA
2011-12-19, 11:42:33
Hmm... also wenn ich längere Zeit 2 Workspaces in 2 Eclipse-Instanzen laufen lasse malt mein Windows XP irgendwann bei neu geöffneten Anwendungen keine Bilder mehr in Buttons und der Kübel wird derbst instabil.
Ich hätte jetzt eigentlich vermutet dass eine VM ihn nicht in der Hinsicht aus der Fassung bringen kann.
Da geht dir wahrscheinlich eher der Speicher als solches aus, aber nicht die virtuellen Speicheradressen

Ectoplasma
2011-12-19, 12:27:49
Da geht dir wahrscheinlich eher der Speicher als solches aus, aber nicht die virtuellen Speicheradressen

Der Thread driftet jetzt thematisch etwas ab. Auch wenn es OT ist, will ich auch dazu meinen Senf geben. Selbstveratändlich können dir virtuelle Adressen "ausgehen". Natürlich steckt dahinter immer eine Form von Allokation. Wenn du z.B. ein oder zwei sehr große Memory-Mapped Files anlegst und den Speicher mappst, dann sieht du im Taskmanager davon wenig. Weder vom Swap File fehlt etwas, noch vom eigentlichen Hauptspeicher. Der Rechner wird trotzdem unglaublich lahm, weil nicht mehr genügend virtuelle Adressen vorhanden sind. Kannst du ruhig mal austesten. Das Verhalten zeigt jedes 32 Bit OS.

Shink
2011-12-19, 13:08:16
Selbstveratändlich können dir virtuelle Adressen "ausgehen". Natürlich steckt dahinter immer eine Form von Allokation. Wenn du z.B. ein oder zwei sehr große Memory-Mapped Files anlegst und den Speicher mappst, dann sieht du im Taskmanager davon wenig.
Im "Process Explorer" kann man sich die Virtual Size anzeigen lassen. Diese liegt bei meinem Eclipse z.B. gerade beim Doppelten der physikalischen Größe und somit weit über der von der VM erlaubten Heap-Size.

PatkIllA
2011-12-19, 13:11:50
Der Thread driftet jetzt thematisch etwas ab. Auch wenn es OT ist, will ich auch dazu meinen Senf geben. Selbstveratändlich können dir virtuelle Adressen "ausgehen". Natürlich steckt dahinter immer eine Form von Allokation. Wenn du z.B. ein oder zwei sehr große Memory-Mapped Files anlegst und den Speicher mappst, dann sieht du im Taskmanager davon wenig. Weder vom Swap File fehlt etwas, noch vom eigentlichen Hauptspeicher. Der Rechner wird trotzdem unglaublich lahm, weil nicht mehr genügend virtuelle Adressen vorhanden sind. Kannst du ruhig mal austesten. Das Verhalten zeigt jedes 32 Bit OS.
Klar können die auch wirklich ausgehen, aber das löst man mit einer VM auch nicht.
Durch das fehlen von virtuellen Adressen wird auch nichts langsam. Da stürzt dann das Programm ab. Das Memory Mapped File verdrängt ja evtl andere Dinge aus dem Arbeitsspeicher, wenn man darauf zugreift.

Tiamat
2011-12-19, 13:11:59
Also ich würde dann die IDE in ner VM installieren, wenn es ein OS voraussetzt, welches nicht auf meinem Rechner installiert ist. Ich hab mir mal das Samsung Bada SDK angeschaut, das gibt´s momentan nur für Windows, also hab ich n altes XP in ner VM installiert.

Wenn´s dir dabei mehr um den psychischen Effekt geht, das du deine Tätigkeitsbereiche sauber trennen möchtest, kannst du dir ja auch n Dev Account an deinem Betriebssystem einrichten :)

Ectoplasma
2011-12-19, 13:34:23
Klar können die auch wirklich ausgehen, aber das löst man mit einer VM auch nicht.

Hab ich ja auch nicht gesagt. Viel mehr meinte ich, dass dir dieses Verhalten gerade auch mit einer VM passieren kann.

Durch das fehlen von virtuellen Adressen wird auch nichts langsam.

Hast du das mal ausprobiert? Ich schon, es wird langsam. Man muss ja auch nicht soviele Adressen wegnehmen,
bis etwas abstürzt. Es kommt halt auf die jeweilige Situation an.

Ectoplasma
2011-12-19, 13:40:23
Wenn´s dir dabei mehr um den psychischen Effekt geht, das du deine Tätigkeitsbereiche sauber trennen möchtest, kannst du dir ja auch n Dev Account an deinem Betriebssystem einrichten :)

Trotzdem schreiben dir einige IDEs etwas in das System32 Verzeichnis. Microsoft selbst ist da ganz groß drin.

Coda
2011-12-19, 14:14:53
Der Thread driftet jetzt thematisch etwas ab. Auch wenn es OT ist, will ich auch dazu meinen Senf geben. Selbstveratändlich können dir virtuelle Adressen "ausgehen". Natürlich steckt dahinter immer eine Form von Allokation. Wenn du z.B. ein oder zwei sehr große Memory-Mapped Files anlegst und den Speicher mappst, dann sieht du im Taskmanager davon wenig. Weder vom Swap File fehlt etwas, noch vom eigentlichen Hauptspeicher. Der Rechner wird trotzdem unglaublich lahm, weil nicht mehr genügend virtuelle Adressen vorhanden sind. Kannst du ruhig mal austesten. Das Verhalten zeigt jedes 32 Bit OS.
Jedes Programm hat eigene virtuelle Adressen die unabhängig voneinander ausgehen. Das wollte er damit sagen, und das ist auch korrekt.

Das was Shink beobachtet ist wohl, dass GDI-Handles ausgehen.

Ectoplasma
2011-12-19, 15:17:47
Jedes Programm hat eigene virtuelle Adressen die unabhängig voneinander ausgehen. Das wollte er damit sagen, und das ist auch korrekt.

Hast Recht, war ziemlich unsauber von mir ausgedrückt. Natürlich hat jeder Prozess seinen eigenen virtuellen Adressraum.

Ich wollte eigentlich auf die Beobachtung hinaus, dass ein System lahm sein kann, obwohl im Taskmanager gar kein offensichtlich hoher Speicherverbrauch angezeigt wird.

Coda
2011-12-19, 15:39:11
Ich verstehe halt nicht, warum ein memory mapped file im virtuellen Adressraum eines Prozesses das ganze System lahm machen sollte.

ENKORE
2012-01-08, 17:48:53
Mappe mal eine 2 GB Datei bei 2 GB RAM in den Speicher und lese jedes 1000 Byte einmal...

PatkIllA
2012-01-17, 20:20:49
Mappe mal eine 2 GB Datei bei 2 GB RAM in den Speicher und lese jedes 1000 Byte einmal...
Das ist dann aber nicht viel anders als 2 GB an irgendwelchen Datenstrukturen zu haben.
Außer dass das OS die Daten evtl. etwas eher wieder verdrängt, weil es die Daten ja noch auf Platte sind und nicht erst ausgelagert werden müssen. Und das einlagern wird mindestens in Seitengröße passieren.