Leichtere Alternative zu Virtualbox?

In den letzten Jahren habe ich als Arbeitsumgebung ein auf VirtualBox installiertes Linux-System verwendet. Dadurch konnte ich zwei wichtige Dinge tun:

  • Ich kann bestimmte Versionen jeder Bibliothek und Software installieren, die ich für dieses bestimmte Projekt benötige, ohne dass dies Auswirkungen auf meinen Host-Computer hat
  • Ich kann das auf USB und in der Cloud speichern, was es ermöglicht, mit jeder Maschine zu arbeiten, solange sie leistungsfähig genug ist und VirtualBox installiert ist.

Ich bin mit diesem Setup ziemlich zufrieden, abgesehen von der Tatsache, dass es extrem leistungshungrig ist. Selbst wenn ich nichts tue, verbraucht die einfache Tatsache, dass es ausgeführt wird, zwei Kerne auf meinem leistungsstarken Host, und das bedeutet, dass ich dies nicht auf Standardhardware verwenden kann, geschweige denn auf alten. Ich musste auch ein leichtes DE installieren (xfce), da selbst meine Workstation sonst träge war.

Ich habe dort mindestens mehrere Programme laufen: den Webserver, den DB-Server, FF, VS-Code, eine Software, um in die DB zu schauen.

Gäbe es leichtere Alternativen, die die oben aufgeführten Vorteile beibehalten würden, während sie auf Standardhardware laufen würden?

Würde alternativ ein Wechsel von LMDE (debian mint) zu einem leichteren (alpine? bunsenlabs?) eine deutliche Verbesserung bringen, wenn die gleichen Programme laufen?

Bearbeiten:Hier ist eine Illustration meiner Ressourcennutzung

Das sieht man auch, wenn nichts Besonderes läuft:

  • In meiner VM ist unter den 4 ihr zugewiesenen Kernen einer bei 10% und die anderen bei 0 => fein!
  • Auf meinem Host-Computer sind alle Kerne fast 0 %, wenn die VM gestoppt ist, wobei der am stärksten ausgelastete etwa 4 % beträgt, aber wenn die VM ausgeführt wird, liegt ein Kern bei ~ 30 %, ein weiterer bei ~ 20 % und zwei weitere zwischen 10 und 20%. Ich gehe vielleicht zu Unrecht davon aus, dass diese Diskrepanz impliziert, dass für die 4 Kerne, die der VM zugewiesen sind, die meiste Prozessorleistung von VirtualBox selbst verbraucht wird (mein Leerlaufserver innerhalb der VM verwendet nur 10 dieser 70-80 pro 400).
Wenn Ihre virtuelle Maschine dann den oberen Befehl verwendet, um festzustellen, warum Ihre VM so viel CPU verwendet
Ich habe einen Screenshot und einige Informationen dazu hinzugefügt. Tatsächlich beträgt die Speichernutzung in der VM nur noch 2,7 GB, nur weil ich FF beendet habe, das zu viel RAM und CPU verbraucht hat. Ich kann meiner Workstation 8 GB RAM zuweisen, aber wenn ich mit einem Standardcomputer mit nur 4 oder 8 GB arbeiten muss, wird es mir unmöglich, dies zu tun, wie bei FF, und alles andere erhöht die RAM-Auslastung so schnell. Ich weiß, dass es keinen magischen Weg gibt, aber ich möchte so viel CPU- und RAM-Fett aus meiner Lösung entfernen ...
Wenn ich darüber nachdenke, würde es sich vielleicht lohnen, zwei verschiedene virtualisierte Systeme zu haben: Virtualbox, da es auf jeder Plattform verwendbar ist, und ein leichteres, speziell für Linux (da ich zu 99 % unter Linux mit einem VM unter Linux), mit conf- und Code-Dateien, die über die Cloud (oder in einer freigegebenen Partition) synchronisiert werden, sodass ich das eine oder andere problemlos verwenden kann. Hat jemand so etwas ausprobiert? Würde es sich lohnen?
docker und lxc und andere. Sie könnten den Webserver und den DB-Server in separate Docker-Instanzen takten und dann die Ressourcennutzung individuell begrenzen. Verwenden Sie für Ihre DB mysql/mariadb mit libmysql als Client-Bibliothek? Gehe ich richtig davon aus, dass VS-Code Visual Studio ist?
Haben Sie darüber nachgedacht, den Desktop in der VM fallen zu lassen und eine HTML/HTML5-GUI über Perl, php.python usw. vollständig zu schreiben. Verwenden Sie dann Firefox extern, um die VM-IP-Adresse zu öffnen und Ihren PHP- oder usw. Adminer und myphp Admin oder Webmin zu aktivieren können HTML nutzen, um Ihnen Zugriff auf Ihre Datenbank in FF zu geben.
@cybernard würde Docker es mir ermöglichen, schnell und schmerzhaft an neuen Computern zu arbeiten? Ich verwende mysql für dieses Projekt, ja, aber wenn ich ein anderes Projekt habe, würde ich eine neue VM dafür erstellen und hoffentlich stattdessen Postgres verwenden. Ich werde nach libmysql suchen ... VS Code ist Visual Studio Code, ein plattformübergreifendes Open-Source-Derivat von Visual Studio. Es ist ziemlich RAM-hungrig..
Erstes PC -Build- und Test-Docker-Image. neuer PC Installieren Sie das gleiche Docker-Image für das Betriebssystem. Docker installieren. Laden Sie Ihr Docker-Image herunter. Führen Sie Ihr Docker-Image aus. Ein exaktes Duplikat der ursprünglichen Umgebung existiert und wird ausgeführt. Möglicherweise müssen Sie dem Host einige Firewall-Regeln hinzufügen, um den Datenverkehr an Ihren Docker weiterzuleiten.
@cybernard Zuerst wollte ich meinen Editor und FF tatsächlich auf dem Hostcomputer ausführen (für den Code entweder auf eine entfernte Partition auf dem Gast zugreifen oder die Ordner synchronisieren). Manchmal denke ich immer noch, dass dies die beste Option wäre, da die VM VIEL weniger RAM und wenig CPU benötigen würde. Ich habe ein paar kleine Probleme damit: 1) meine Arbeitsumgebung wäre zweigeteilt, 2) ich wäre nicht in der Lage, meine Arbeit zu unterbrechen und sie an einem anderen Tag (vielleicht auf einer anderen Maschine!) Bei intakter Arbeitsumgebung fortzusetzen, 3) Es kann mühsam sein, die VM für den Zugriff von Host + freigegebenen Ordnern usw. zu konfigurieren.
@cybernard, dann ist es an der Zeit, dass ich Docker ernsthaft unter die Lupe nehme!
Heutzutage können Sie Ihre gesamte VM auf einen USB-Stick legen und mit sich und/oder einer externen Festplatte herumtragen. Entwicklungsseite fertig. FF- und VS-Code auf VM installiert. Entweder das, oder verwenden Sie AWS, ASURE oder einen anderen Cloud-Computer, um eine Remote-Arbeitsumgebung zu hosten, mit der Sie sich von überall aus verbinden können.
@cybernard Das habe ich tatsächlich getan. Meine VM befindet sich auf einer externen SSD und wird für alle Fälle auch in der Cloud gespeichert. Das Problem bleibt, dass ich aus praktischen Gründen meine Entwicklungsumgebung dort installieren muss, und das Ausführen dieser Umgebung kostet viel RAM und CPU. Der Server und SQL verbrauchen überhaupt nicht viel.

Antworten (3)

Keine Probleme mit VBox hier. Mint 18.x als Host, 4 laufende Debian-„Server“ (dhcp, router/gateway, dns, samba), 2 Instanzen der Mint 18-Live-CD, 3 FreeBSD-Rechner (router/gateway, dhcp, dns) und a Kopie von Win7 Professional. Auf den Servern laufen alle Daemons, die LiveCDs und Win7 sitzen mit geöffnetem Firefox auf den Standard-Homepages. Host-Rechner ist ein i5 mit 8 GB RAM und nicht ganz 5 GB Swap.

$ top -b -n 1 | head
top - 12:54:47 up 2 days, 23:06,  1 user,  load average: 0.44, 0.79, 1.90
Tasks: 234 total,   1 running, 226 sleeping,   0 stopped,   7 zombie
%Cpu(s):  4.7 us,  1.1 sy,  0.0 ni, 93.9 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8106392 total,   688896 free,  6907100 used,   510396 buff/cache
KiB Swap:  4881404 total,  3307080 free,  1574324 used.   840268 avail Mem 

Um Ihrem Problem zu helfen, würde ich Ihre Einrichtung so konfigurieren, dass Sie über das Netzwerk eine Verbindung zu den VMs herstellen können. Verwenden Sie den Browser auf Ihrem Host-Rechner, ssh in und exportieren Sie Ihre Anzeige, um die IDE auszuführen, verbinden Sie sich auch über das Netzwerk mit dem db-Server (mysqlworkbench, phpmyadmin usw.) oder verwenden Sie dafür auch X über ssh.

Dadurch wird der gesamte Overhead des Desktops, die Virtualisierung der Grafikausgabe usw. reduziert.

Ich denke, das Problem kommt tatsächlich von meinen Entwicklungstools und nicht von der Serverseite. Ich habe am Anfang versucht, von meinem Host aus über eine lokale Bridge oder so etwas zu entwickeln, hatte aber damals einige Probleme und habe mich dann daran gewöhnt, innerhalb der VM zu arbeiten. Ich schätze die Tatsache sehr, dass ich meine Arbeit jederzeit unterbrechen, meinen PC herunterfahren und dann, wenn ich die VM wieder öffne, sofort mit dem Hacken beginnen kann! Ich denke, ich muss mich zwischen dieser Benutzerfreundlichkeit und Leistung entscheiden, da es wahrscheinlich keine Wunderwaffe gibt ...
Bevor ich diesen Weg gehe, werde ich versuchen, eine neue VM mit einem leichteren Linux zu erstellen und den i3-Fenstermanager einzurichten. Ich hoffe, es gibt mir mehr Spielraum auf älteren Computern ...

Vielleicht ist es an der Zeit, dedizierte Hardware zu kaufen, da Sie versuchen, mehrere Server zu betreiben, die RAM verschlingen. Datenbanken und Webserver sind nicht gut für RAM, und ich denke, Sie versuchen auch, Code zu kompilieren und andere Software auszuführen, die ebenfalls RAM frisst. Ich bin zuversichtlich, dass Sie sich dessen bewusst sind. Ich glaube ehrlich gesagt nicht, dass selbst das Ausführen Ihrer VM als Server ohne GUI viel für Sie tun würde, da Sie so viele anspruchsvolle Dienste ausführen.

Aus dem angehängten Bild geht hervor, dass Sie so viel Speicher verwenden, dass Swap aktiviert wird, was dann die Festplatten-E / A- und CPU-Nutzung in % erhöht, was die Erhöhung der CPU erklärt. Es ist also nicht wirklich VirtualBox, sondern die Software, die Sie innerhalb der VM ausführen.

Ich würde empfehlen, gebrauchte/überholte Servertürme von HP oder Dell zu kaufen. Dann können Sie per Fernzugriff auf den Server zugreifen, um Ihren Desktop freizugeben und Ihnen eine viel bessere Umgebung zu bieten. Ein Quad-Core-Prozessor würde wahrscheinlich ausreichen, aber Sie benötigen einen Computer, der viel RAM unterstützt, und Server-Motherboards bieten dies und manchmal einen Steckplatz für 2 Prozessoren.

Friend virtualbox ist die beste verfügbare Software für die Visualisierung. Eine Software mit allen Funktionen und einer guten Benutzeroberfläche wird von Oracle angeboten, und Sie möchten dennoch eine leichtere Version. Möglicherweise gibt es eine Menge Virtualisierungssoftware, von denen einige teuer sind. Im Falle von Linux ist es die beste Software, die Sie bekommen können

Vielen Dank für Ihren Beitrag, und ich muss sagen, ich habe es verwendet, weil es so gut sein soll, aber für meine Lösung ist es meiner Meinung nach nicht gut genug. Deshalb suche ich nach Ratschlägen oder Lösungen, um es besser zu machen, und Ihre Antwort hilft nicht wirklich.
no poblem hoffe du hast glück