22
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 14 Apr 2024
22 points (100.0% liked)
General Programming Discussion
7746 readers
21 users here now
A general programming discussion community.
Rules:
- Be civil.
- Please start discussions that spark conversation
Other communities
Systems
Functional Programming
Also related
founded 5 years ago
MODERATORS
Using VirtualBox is also how you get the impression virtual machines are slow and heavy. It served us well but it's essentially obsolete at this point.
The virtio devices and drivers are much better overall and optimized for performance. VirtualBox is optimized to be user friendly and run most operating systems easily. It's compatible but to do so, it relies a lot on emulating existing hardware. Virtio devices often rely on either shared memory for zero copy, or at least DMA and exposes higher level APIs. No point encoding and decoding SATA commands when you can just move raw data in and out of the VM.
We also have hardware with native VM support, so multiple VMs can talk directly to the network without going through the host at all. VirtualBox can't make use of those either, as it requires IOMMU and the same stuff that powers VFIO.
KVM + QEMU is where it's at. There's also cloud-hypervisor which is supposed to be even better for cloud use cases.