Xhyve – Lightweight Virtualization on OS X Based on Bhyve
pagetable.com
pagetable.com
It requires that you copy the vmlinuz64 and initrd.img files from the B2D ISO to a local filesystem location. As of right now enabling networking requires root privileges. Not sure if the Hypervisor framework has user-level accommodations for that.
I've also done some quick benchmarks, they are at the bottom of the post. Virtualbox had about 50% higher disk IO performance in my measurements.
Regarding the root permissions for networking: As far as I know it shouldn't be necessary if you sign the xhyve binary, haven't tried that though.
Google Chrome, similarly, tends to drain my battery a lot, and that alone has encouraged me to go to Safari on Macs.
I can see the graphics switch happen with gfxCardStatus notifying me. The process occupying the GPU is from Fusion plain as day (I think it's vpx agent?). This happens with nothing else running. This switching is one of the known quirks with OS X after years and years now.
Also, older versions of Fusion may have been less careful about avoiding graphics modes that potentially cause graphics acceleration to kick in and maybe more recent versions than mine do better (still on 6 because I'm a cheapskate).
Edit: Yes, it is.
Edit2: It is possible, but whether is it worth it or not is still a question. xhyve is a supervisor after all, you still need to boot a vm to use Docker. So if you like me, thought for a second that this can make containers in OSX a reality, don't get excited too early.
brew install docker docker-compose docker-machine
open https://kitematic.com/download/
Kitematic might even come with docker, docker-machine. It will then set up a docker machine for you and you're ready to go.For CLI, in Kitematic menu there is a button where you can install the binaries.
From my development experience, there's no difference from working directly on a linux box.
Alternatively I've used Parallels + NFS with Vagrant for boot2docker but it's a real pain to get set up correctly. Dinghy just did it automatically, and also set up DNS and NTP for me. Can't recommend it enough.
Initially I thought it was "zive" and "bive", like "bive" was a foreign word from somewhere. Bhyve, the muse of unit tests!
I really want this to work, though. It would be a great replacement for VirtualBox.
https://github.com/coreos/coreos-xhyve#coreos--xhyve
Lots of GitHub issues filed for next steps in exploring this technology. Really exciting to see a simple CLI driven virtualization option on OSX. Patches accepted. :)
But, compiled clean, test vm started fast. Will look at again.
I'd rather see it supported by vagrant, which would seem an appropriate tool to manage them with.
I doubt it'd go in the mainline product but I'd be shocked if in a year or two there isn't a Docker.app one-stop option which makes it trivial to run popular Linux apps.
That sounds really compelling, and something along the lines of what Kitematic is doing, but even simpler.
I won't get into virtualbox. But I haven't found vagrant very fragile at all since Mitchell moved to omnibus (quite a while back). Most of the issues I had with vagrant were directly related to virtualbox, not vagrant itself.
> Docker has a huge interest in making it easy for the legions of Mac-toting developers
Well, sort of. They have a product that is inherently linux based. Getting a nice setup working on OS X is pretty trivial, takes a developer maybe a couple of hours one time to have something working.If they use someone else's solution, it takes minutes.
Here's an ansible task I use to configure an ubuntu machine[1]. It's all of 24 lines. If you're running it against a VM, you just forward the 2375 port to your host. Then the workflow looks like:
vagrant up
docker build -t jkyle/awesomeness .
Course you can get fancier. Ansible can pull down docker projects using git, build, and run them for you as well.Anything which makes that process easier for newcomers is welcome, particularly for non-specialists like front-end specialists, scientists, data-analysts and other technical professionals for whom figuring out a toolchain is a road-block to their job rather than the job itself.
You're looking for VMX. Here's an example from mine (highlighted the flag you're looking for):
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL * VMX * SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C
The critical hardware feature they didn't all have is EPT[1], which may be required here in addition to VT-x.
[1] https://en.wikipedia.org/wiki/Second_Level_Address_Translati...
Hmm, turns out my Mac Pro does have VMX : machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 DTES64 MON DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM Maybe it's the EPT mentioned by @mrsteveman1
I don't really use the OSX integration of both systems, other than file mapping/sharing (I run Linux and Windows VMs).
Glad to see this, many thanks!
That said, I'm completely with you on the value of Hypervisor.framework for people who are e.g. running Linux test instances and not really seeing much benefit from the UI integration but who still want to avoid the performance / stability problems caused by using virtualbox.
Hopefully the upgrades will be only necessary every two years.
Stability problems with VirtualBox are very real. I haven't touched that for years.
What issues do you have? I've been running VirtualBox on OS X for 6+ years and have never had stability issues. I usually have a few VMs running at a time via vagrant.
I did use VirtualBox for running Windows 95 the other month though. I am not complaining about VirtualBox or advising against its use, just I had some issues on OSX.
Under Windows and Linux it ran fine, just OSX was dodgy for me.
I consider technology awareness, competition and diversity a very good thing, therefore I think its important to mention FreeBSD in this case (and other BSD's too in other cases).
By the way, have you donated to FreeBSD [2] and OpenSSH [3] yet? ;)