Deux programmes qui ont le même objectifs mais développés séparément peuvent avoir des consommations mémoire et processeurs différentes. Cela parait évident mais vite oublié. Je m'en suis rendu compte par hasard avec VirtualBox et VMware Player où le premier semble être plus gourmands que le second.
Dernièrement, pour d'autres besoins, j'ai virtualisé une machine Windows 10 assez basique sous VirtualBox.
Or, ayant constamment ksysguard démarré sous le coude, je me suis aperçu que la charge de mémoire RAM est plus faible avec la machine virtuelle Windows 10 sous VMware que la machine virtuelle Windows 10 sous VirtualBox. Pourtant, ma machine habituelle sous VMware est largement plus étoffée et complète que celle de tests sous VirtualBox. En clair, j'ai chargé tous les programmes que j'estime nécessaire sur ma machine virtuelle VMware alors que je n'ai quasiment rien ajouté sur celle sous VirtualBox.
Donc, pour rappel :
Ceci dit, à vous de voir la solution que vous voulez utiliser selon vos besoins, votre machine hôte et votre philosophie. Pour les puristes du libres qui exècrent les applications propriétaires, ces résultats ne signifieront rien ;-)
1 - Constat
Pour des besoins personnels, mon système principal étant une distribution GNU/Linux, j'ai été obligé de virtualiser une machine Windows. Lorsque j'ai créé cette machine virtuelle, j'ai du me rabattre vers VMware qui gérait alors mieux l'USB que VirtualBox. Aujourd’hui, VirtualBox gère fort bien l'USB mais je n'ai jamais vraiment eu envie de migrer ma machine virtuelle de la solution propriétaire VMware vers l'alternative libre VirtualBox. Mais ce n'est pas le sujet.Dernièrement, pour d'autres besoins, j'ai virtualisé une machine Windows 10 assez basique sous VirtualBox.
Or, ayant constamment ksysguard démarré sous le coude, je me suis aperçu que la charge de mémoire RAM est plus faible avec la machine virtuelle Windows 10 sous VMware que la machine virtuelle Windows 10 sous VirtualBox. Pourtant, ma machine habituelle sous VMware est largement plus étoffée et complète que celle de tests sous VirtualBox. En clair, j'ai chargé tous les programmes que j'estime nécessaire sur ma machine virtuelle VMware alors que je n'ai quasiment rien ajouté sur celle sous VirtualBox.
2 - Machines de tests
J'ai creusé le sujet avec l'idée de mesurer les consommations avec des machines virtuelles basiques, toutes construites systématiquement à l'identique sous VMware et VirtualBox. Ensuite, je prends les mesures au démarrage de la machine virtuelle, sans jamais lancer quoi que ce soit dedans. Nous sommes d'accord que l'idée n'est pas de mesurer les besoins d'un quelconque système mais les besoins de la solution de virtualisation.Donc, pour rappel :
- Machine hôte sous GNU/Linux (Mageia 5.1) en 64 bits et à jour
- VirtualBox et VMware Player à jour
- VirtualBox installé en utilisant le binaire officiel de l'équipe VirtualBox
- Machine hôte disposant de 16 Go de mémoire RAM
- Toutes les machines virtuelles en 64 bits et avec 4 Go de mémoire RAM
- Toutes les machines strictement identiques sous VMware et VirtualBox (y compris les réglages)
- Les extensions / additions VirtualBox / VMware ne sont pas installées.
- Toutes les mesures prises une fois le système de la machine virtuelle pleinement opérationnel
3 - Comment mesurer
Comment mesurer les consommations ? Inutile d'utiliser la commande free qui obligerait à faire des calculs trompeurs. C'est la commande suivante que je vais utiliser :- ps -C application -o pmem,pcpu
- pmen : pourcentage de mémoire utilisé
- pcpu : pourcentage de processeur utilisé
- ps -C vmplayer -o pmem,pcpu retourne 0.4 0.6 (0.4% de RAM et 0.6% de CPU)
- ps -C VirtualBox -o pmem,pcpu retourne 0.3 0.1 (0.3% de RAM et 0.1% de CPU)
- Donc dans ce cas, VMware Player est légèrement plus gourmand que VirtualBox (mais si peu).
- 0.3 et 0.1 ce qui correspond à la fenêtre générale de VirtualBox, soit le gestionnaire de machines virtuelles.
- 27.3 et 52.1 ce qui correspond à la seule fenêtre de la machine virtuelle lancée.
- Je prends donc le second groupe de valeurs.
4 - Résultats
Voici les résultats des machines suivantes :- Windows 10 (version 1607 14393.693) :
- VMplayer : 0.5 (% de RAM) et 1.1 (% CPU)
- VirtualBox : 27.3 (% de RAM) et 52.1 (% CPU)
- Debian 8.7 Jessie (KDE) :
- VMplayer : 0.5 (% de RAM) et 0.9 (% CPU)
- VirtualBox : 6.9 (% de RAM) et 16.1 (% CPU)
- Fedora 25 (Gnome 3) :
- VMplayer : 0.5 (% de RAM) et 1.1 (% CPU)
- VirtualBox : 9.8 (% de RAM) et 45.1 (% CPU)
- Mageia 5.1 (KDE) :
- VMplayer : 0.5 (% de RAM) et 1.0 (% CPU)
- VirtualBox : 6.9 (% de RAM) et 32.4 (% CPU)
- Manjaro 16.10.3 (KDE) :
- VMplayer : 0.5 (% de RAM) 0.6 (% CPU)
- VirtualBox : 9.3 (% de RAM) et 56.8 (% CPU)
- Ubuntu 16.10.2 LTS :
- VMplayer : 0.5 (% de RAM) et 0.0 (% CPU)
- VirtualBox : 11.3 (% de RAM) et 65.5 (% CPU)
5 - Conclusion
Effectivement VMware Player est largement moins exigeant que VirtualBox que ce soit en RAM comme en processeur et quel que soit le système d'exploitation virtualisé. En fait, il faudrait même ajouter à ces résultats, concernant VirtualBox, la partie concernant la fenêtre qui permet de gérer toutes les machines virtuelles, ce qui ferait encore grimper cette solution en gourmandise.Ceci dit, à vous de voir la solution que vous voulez utiliser selon vos besoins, votre machine hôte et votre philosophie. Pour les puristes du libres qui exècrent les applications propriétaires, ces résultats ne signifieront rien ;-)
Commentaires
Enregistrer un commentaire