I think it would be more interesting to compare a JVm app running on OSV inside a VM to the same JVM app running in a Docker-compatible container on bare metal. In both cases you effectively have a single process running on a kernel, without the extra kernel in between (as in the common case of an app running on a general-purpose OS in a VM). But virtualization probably still has extra overhead. And of course, the hypervisor offers lower-level abstractions to the VM than a general-purpose kernel would offer to a container; for example, for storage, you get a block device rather than a filesystem.<p>Note that I said Docker-compatible. One alternative to the Docker Engine itself would be Joyent&#x27;s Triton, which uses Illumos rather than Linux as the kernel (while still supporting Linux binaries), so it doesn&#x27;t have the security problems of Linux namespaces + cgroups.