Windows host Linux guest VM speed
-
@Chris-Kawa said in Windows host Linux guest VM speed:
wouldn't WSL be a better option?
Nooooo!!! :) That's not what I'm trying to achieve. Am very happy sitting in my Linux VM when I'm doing Linuxy things (mostly just Qt), and in my main Windows host outside that. Also I just want to understand just what a VM like VB is costing me,
@Axel-Spoerl said in Windows host Linux guest VM speed:
given your reputation, I am paying attention to every word you wrote and to every word I write.
Gosh! I do hope that does not mean anything bad/scary! :) Certainly not my intention.
Your "30% penalty" is very interesting.
make
was only an example, same for compilation etc. Not looking to optimize those, just they show I'm not using anything particularly graphic-y or desktop-y or OS-y. It just means there will be (plenty of) processor/memory/some disk involved.That's somewhat more of a penalty than I was hoping for. But then again I have no idea what to expect!
You may well be right with this figure. Now of course I'd like to understand where that 30% is disappearing to?! In layman's terms :)
Here is my layman's guess?:
- RAM: VM can access that at full speed?
- CPU/core: VM can use that at full speed?
- I/O: That's all I can imagine goes through something of the host OS, which may be a bottleneck?
-
I have very strong opinions about VMs and which should be the host and which should be the guest. I cannot tell you anything specific about performance of a linux guest under windoze because I refuse to do it that way. My issue has never been so much about the windoze performance penalty as it is about the effects of the domain security model on a guest running under windows. Too often I suffered poor performance because the IT minions believe they must have 100 and one security agents running on dev workstations. I mean devs are there to bring down the company infrastructure with malevolent code, right?
I don't trust windows to manage my hardware because I cannot fully manage my hardware under windoze. I would go the other route and run windoze as a guest under a properly configured linux box instead. I've enjoyed a lot of success taking that route...got fed up with vbox several years ago: their config mechanisms were too convoluted and the oracle support channel folks were bigger jerks than I am...that says a lot. Once you figure out its quirks, QEMU is a solid hypervisor when used in conjunction with the kvm module...near native speeds on a well configured VM where the cores are reserved for the vm and you use a raw partition as the guest disk.
-
Answers to your questions, @JonB are based on Linux hosted VM, basically for the same reasons which @Kent-Dorfman has mentioned.
RAM: VM can access that at full speed?
Almost full speed, provided that you have ample memory on the host.
E.g. if the host has 64GB and there are no major activities besides running the VM, 32 GB can be accessed with a speed penalty < 10%.CPU/core: VM can use that at full speed?
Same as Memory. With VMWare, you can manage CPU affinity to make physical assignments / restrictions.
I/O: That's all I can imagine goes through something of the host OS, which may be a bottleneck?
Virtual disks, represented by a single file, can be quite a bottle neck, especially many files are opened for writing at the same time (compiling).
Mapping a network drive from the host into the VM can speed things up quite a bit, if the host as a fast disk.
It's also an option to mount physical harddisks or even partitions, see here for an example.
I use such setups for VMs that I frequently use, mainly for compiling and testing across platforms. -
I found that VMWare is quite a bit faster and more polished when it comes to running virtual machines compared to VirtualBox on windows. VB always felt sluggish compared to VMare.
-
@DerReisende
I found VirtualBox easy to install and use. If VMware is the one I'm thinking of, very confusing. -
@JonB Both are easy to install. But when it comes to guest performance I found VMWare to have better driver support and thus better performance of a linux guest compared to VirtualBox. With VirtualBox it always felt sort of sluggish although I followed the docs and installed some recommended drivers. But this might be due to the machine.
I now use a native Linux system and have abandoned all VMs :) Much better… -
@DerReisende
Thanks, interesting!The most apparent difference between the two is licensing: VirtualBox is free and open-source. VMware is free for personal use only. However, the free version for personal and educational use has limited features.
I think I'm supposed to support open source, am I not?
-
@JonB said in Windows host Linux guest VM speed:
@DerReisende
I found VirtualBox easy to install and use. If VMware is the one I'm thinking of, very confusing.Oh yeah, it was "VMware's ESXi". I found it hard! :( It may be that when set up and running it was better, I don't know, but I found configuring it/installing on it a nightmare! Is that the software you mean instead of VirtualBox?
-
@JonB No, never used ESXi. Thought about it and Proxmox but abandoned everything for a native linux server and a couple of dual boot laptops as both looked fairly complicated to me. The only VM left here is Win 11 ARM64 on a M1 MacBook Air running with Parallels.
-
@JonB said in Windows host Linux guest VM speed:
Oh yeah, it was "VMware's ESXi". I found it hard! :(
ESXi is a product that targets large enterprises. It's not for your home PC! And definitely not comparable with VirtualBox.
VMWare Player is the one that's on the same "level" as VirtualBox.
I think I'm supposed to support open source, am I not?
That's for you to decide. Different people have different reasons for supporting free/open-source software -- what's yours?
-
@JKSH
Per a colleague's "guarantee" that it would work, I bought a server and put ESXi on it for work a couple of years ago. It was to allow multiple Windows OS images for testing etc. I spent quite a bit on it --- like £800? (our currency was still worth something then). Spent ages understanding it, copying image from source server. Image would work for a few hours, then break/freeze so badly it was not possible to get into it/boot it and had to restart reformatting and reinstalling from scratch just to get in. Decided this was not reliable. The box is now used as a (expensive) doorstop....So if that is how "reliable" or "friendly" that VMWare is I would not go near it! Maybe "VMWare Player" is a simpler virtualizer product?
what's yours?
Thanks, pint of cider? :) Dunno, just would probably pick a free, open source over anything commercial if given a choice.
@Kent-Dorfman said earlier:
got fed up with vbox several years ago: their config mechanisms were too convoluted and the oracle support channel folks were bigger jerks than I am...that says a lot.
That was my initial experience when I first posted a question or two on the VirtualBox forum. They were a bit "sniffy". But since then it settled down and they have answered my occasional question OK. I can understand how the interface and the product works.
Maybe I ought give "VMWare Player" a go, just to see? Do you know: my VirtualBox images are
.vdi
files, are these accepted by VMWare? -
@JonB said in Windows host Linux guest VM speed:
VMWare Player
VMWare Player is a free one for personal use. Its installation and use are easy and straightforward. I have used it for some years and like it. It is very nice to have it for apps on multiple platforms. I have 4 OSs on it now and can switch conveniently. For performance, definitely go without VMs as DerReisende does.
-
I have run into multiple issue with VirtualBox. I just don't like using it if I don't have to. I have seen networking fail, speed issues, file transfer issues, opengl problems, and more. It would not surprise me if speed in compiling is greatly impacted. It seems like these problems have gotten progressively worse over time (I noticed over last 4 years).
-
The exact amount of virtualization overhead you will experience depends on several factors, including the resources allocated to the virtual machine (such as memory and CPUs), the complexity of the guest operating system, and the workload being performed in the virtual machine.