Follow By Email

Wednesday, November 30, 2022

[New post] Disk performance of lightweight macOS VMs on Apple silicon

Site logo image hoakley posted: "When I first looked at lightweight virtualisation of macOS on Apple silicon Macs, one of the significant problems I identified was poor performance with storage. This was limited by the fact that I was still running VMs using Monterey, which only offers a" The Eclectic Light Company

Disk performance of lightweight macOS VMs on Apple silicon

hoakley

Dec 1

When I first looked at lightweight virtualisation of macOS on Apple silicon Macs, one of the significant problems I identified was poor performance with storage. This was limited by the fact that I was still running VMs using Monterey, which only offers access to the VM's disk image. This article updates those initial results with performance data from Ventura, including shared and external storage.

VM storage options

There are two options for storage in macOS guests: a VIRTIO Block Device, required for the boot volume group, including the Data volume, and a VIRTIO file system device, which can be used for shared storage with the host, but is only available when both guest and host are running Ventura.

Block Device performance

The Block Device is implemented in a disk image, which immediately raises questions as to its performance. The 2 TB internal SSD in my Mac Studio Max performs well: tested using Stibium or any of the popular disk benchmarking apps, its read speed is 8.1 GB/s for random files between 2 MB and 2 GB, and it writes at 7.3 GB/s. Create an unencrypted APFS Disk Image of 100 GB and read speed drops a little to 7.8 GB/s while write speed collapses to 1.3 GB/s. The latter is also more variable, ranging between 0.7-6.7 GB/s.

When running 13.0 in the VM and 13.0.1 on the host, and accessing a folder in the virtual Data volume using the VIRTIO Block Device, read speed was slightly faster than in my Monterey tests at 5.4 GB/s, but write speed fell to the same dismal 0.7 GB/s, around 10% of native performance.

I repeated those tests with the VM stored on an external SSD, an OWC Envoy Pro FX 4 TB, which delivers excellent native performance over Thunderbolt of 3.1 GB/s read and 2.1 GB/s write. Block Device performance from the VM was then near-native when reading, at 2.8 GB/s, but slower still when writing, at 0.5 GB/s.

These confirm my previous conclusion that, while reading from Block Storage is acceptably fast, writing to it is significantly slower, and could noticeably impair the performance of apps being run in the VM.

Shared storage performance

When shared storage is enabled in a VM, there are two quirks, which may seem strange at first. When deleting items from the shared folder in the VM, those are deleted immediately, and not held in the Trash. This might be the result of Apple's design intention to make VMs as self-contained as possible, which prevents them from sharing access to a Trash folder.

The other oddity is that, seen from the VM, auto-mounted shared folder locations are within the VM bundle folder, which appears to be the VM's designated 'home' folder. Although I have tried to set that to a more useful folder on the host, so far my efforts have failed. I suspect the reasoning is that this makes the VM self-contained and readily portable: as its shared folder remains within the VM bundle, copy that to another disk or Mac, and the shared folder and its contents are copied with it, a neat feature after all.

In contrast to Block Devices, the performance of shared folders is more impressive: on the internal SSD, read speed was 5.0 GB/s, and write 3.6 GB/s, about half that of the SSD accessed natively. On my OWC SSD, shared folder performance was essentially the same as native, reading at 2.9 GB/s and writing at 2.2 GB/s.

Copied VMs

Copying a complete VM bundle to another disk, such as the Envoy Pro FX, has the advantage that it takes the complete VM environment with it, shared folders included. After I had copied my test VM to the external SSD, and following these performance tests, I updated it in place to Ventura 13.0.1 without a glitch.

I also ran the VM on the external SSD on another Mac host. Although for many purposes these lightweight VMs are too restricted to be able to run many third-party apps, such as those from the App Store, and are denied access to iCloud, they're an excellent platform for those who need to run a complete macOS environment on another Mac without booting the host Mac from an external disk.

The only potential snag with making copies of VMs is that they have the same Machine ID as the original. Should you try running an original and its copy at the same, the results would be 'undefined', and not what you intended. As there's currently no way to change an existing VM's Machine ID, if you are going to run more than one macOS VM at a time, you'll need to be watchful of this.

Conclusions

Lightweight virtual machines running macOS Ventura on Apple silicon:

  • write to Block Device storage at around 10-20% of the speed of the host;
  • write to shared storage at between 50-100% of the speed of the host;
  • read from either storage type at 70-100% of the speed of the host;
  • are effectively self-contained in their VM bundles, and mobile across disks and Macs;
  • require care when running two at the same time, to avoid them having identical Machine IDs.
Comment
Like
Tip icon image You can also reply to this email to leave a comment.

Unsubscribe to no longer receive posts from The Eclectic Light Company.
Change your email settings at manage subscriptions.

Trouble clicking? Copy and paste this URL into your browser:
http://eclecticlight.co/2022/12/01/disk-performance-of-lightweight-macos-vms-on-apple-silicon/

Powered by WordPress.com
Download on the App Store Get it on Google Play
at November 30, 2022 No comments:
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest

December Baking Challenge & November Winner 🎉

​

Sally's Baking Challenge logo
​

​

Hi we,

The November Baking Challenge ended and my team and I gathered as many emailed photos as we could and included them as well as the winner in the in the December Baking Challenge post. 🎉

Guess what? I'm writing another cookbook! To make time for this enormous and exciting adventure, I'm taking a break from Sally's Baking Challenge recipes in 2023. (There will still be new recipes on my website, just no big organized challenges next year! Make sure you are subscribed to my general email list to get all of my new posts and recipes.)

2023 would be a great time to tackle some of the 70+ previous challenge recipes you may not have tried yet. 😉


Here is the December recipe:

Pinwheel Cookies
pinwheel cookies
​

You can dip in chocolate, flavor with extracts, tint the dough, roll in sprinkles, etc! 🌀

If you aren't into this recipe, here is the alternate recipe:

  1. ​Any previous challenge recipe you haven't made yet OR
  2. ​Pecan Sugar Cookies with Brown Butter Icing​

After making the Sally's Baking Challenge or alternate recipe, share your recipe photo by replying to this email. By emailing the photo, you are automatically entered to win the prize.

And for a bonus entry, leave a review on the recipe.

I will check in mid-month and send some participant photo entries!

​

​

Sally Mckenney

Happy Baking,

Sally

Update Your Preferences:
Send Me Everything: Receive new recipes, baking tips, and updates.
Once A Week: Get our weekly round-ups.
Unsubscribe

113 Cherry St #92768, Seattle, WA 98104-2205

​

​

at November 30, 2022 No comments:
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest

2 Hours Left For 30% Off

,

THIS IS IT!!! Just 2 hours left to get 30% off subscription orders (no code necessary) and/or any one-time purchase.  Use code SWOLEFRIDAY2022 at checkout for 30% off your one-time purchases.

GO GRAB SOME GAINS AND HUGE SAVINGS

SHOP NOW

The Swolverine Team



You received this email from Swolverine. If you would like to unsubscribe, click here.
at November 30, 2022 No comments:
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest

Last chance to save 20%! 🎄🎅

I won't waste your time...
Happy Wednesday! I'll keep this quick: 

TONIGHT IS THE LAST NIGHT TO GET 20% OFF MY COOKBOOK: 'Home for the Holidays'!

If you love holiday cooking, baking, and entertaining, you will LOVE this book. Loaded with recipes, tips, and tricks to help you have the best holiday season, this year... and for many years to come! 
You can order your copy on sale today, no discount code needed! 20% off... as many copies as you order! And 5 dollar flat shipping.

This is the last sale we'll be offering this month, so if you want your copy on sale, today is the day! 


CLICK HERE TO ORDER YOUR COPY TODAY!
About Home for the Holidays: 
  • 85+ cozy and festive recipes perfect for holiday entertaining! 
  • Beautifully printed 8x10-inch hardcopy book that'll look beautiful on your coffee table or make a great holiday gift!
  • Every recipe features a full-color photograph, so you know what to expect! 
  • Sample menus and ideas on how to bring it all together!
  • Ashley's top entertaining tips and tricks to make your holiday as stress-free as possible! 
Click here to Order your Copy!
Instagram
Facebook
Pinterest






This email was sent to edwardlorilla2001.tower2@blogger.com
why did I get this?    unsubscribe from this list    update subscription preferences
Baker by Nature · Baker by Nature · Philadelphia, PA 19127 · USA

at November 30, 2022 No comments:
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

[New post] Godzilla Library Edition by James Stokoe, John Layman, Chris Mowry, Alberto Ponticelli, Dean Haspiel

...

  • Open for a sneak peek inside August's box 👀
    Spoiler alert... ...
  • [New post] Everyone Wants to Be a Cat
    Donna...
  • Your Ambitious Menu: 5 recipes to cook this week
    New on Ambitious Kitchen ...

Search This Blog

  • Home

About Me

PH News Net
View my complete profile

Report Abuse

Labels

  • 【ANDROID STUDIO】Data Binding
  • 【ANDROID STUDIO】Data Binding Show or Hide Progressbar
  • 【ANDROID STUDIO】Data Binding with object
  • 【ANDROID STUDIO】Live Data
  • 【ANDROID STUDIO】Live Data with Data Binding
  • 【ANDROID STUDIO】View Model
  • 【ANDROID STUDIO】ViewModel Data Binding
  • 【ANDROID STUDIO】ViewModel Data Binding Factory
  • 【FLUTTER ANDROID STUDIO and IOS】Common Weight and Mass Conversions
  • 【FLUTTER ANDROID STUDIO and IOS】custom lite rolling switch
  • 【FLUTTER ANDROID STUDIO and IOS】Managing State
  • 【FLUTTER ANDROID STUDIO and IOS】Simple Stopwatch
  • 【FLUTTER ANDROID STUDIO and IOS】Specify Height and Width in Percent with respect to the screen
  • 【FLUTTER ANDROID STUDIO and IOS】tab key or shift focus to next text field
  • 【FLUTTER ANDROID STUDIO and IOS】Weight Convert
  • 【GAMEMAKER】Display
  • 【GAMEMAKER】Draw Name
  • 【GAMEMAKER】enemy fire continously
  • 【GAMEMAKER】Energy
  • 【GAMEMAKER】Explosion
  • 【GAMEMAKER】Health Bar
  • 【GAMEMAKER】Hearts
  • 【GAMEMAKER】Highscore
  • 【GAMEMAKER】Horizontal Shooter
  • 【GAMEMAKER】Inventory
  • 【GAMEMAKER】keep the player facing the mouse pointer
  • 【GAMEMAKER】one way to do a fog of war
  • 【JAVASCRIPT】implements draggable progress bar
  • 【JAVASCRIPT】Math Quiz GAME export CSV
  • 【LARAVEL】PHPWord pass dynamic values when export to ms docx and download using PHPWord
  • 【PYTHON OPENCV】Image classification in Keras using several models for image classification with weights trained on ImageNet
  • 【PYTHON PYTORCH】metric classification accuracy
  • 【PYTHON PYTORCH】metric classification report
  • 【PYTHON】algorithm compare all classification models
  • 【PYTHON】algorithm evaluation k fold cross validation
  • 【PYTHON】leave one out cross validation
  • 【PYTHON】metric confusion
  • 【PYTHON】metric regression mae
  • 【VISUAL Csharp】Enumerate network resources
  • 【VISUAL Csharp】File Properties
  • 【Visual Studio VB NET】Clear Saved Passwords
  • 【Visual Studio VB NET】Swap mouse button
  • 【Visual Studio VB NET】System Properties Remote
  • 【Visual Studio Visual Csharp】Get computer name
  • 【Visual Studio Visual Csharp】Get Disk Free Space
  • 【Visual Studio Visual Csharp】Get processor type
  • 【Visual Studio Visual Csharp】IP Address
  • 【VISUAL VB NET】Delete Form Data
  • 【VISUAL VB NET】Delete History
  • 【VISUAL VB NET】Hibernate
  • 【VISUAL VB NET】Keyboard Properties
  • 【VISUAL VB NET】Sound
  • 【VISUAL VB NET】Tray Icon
  • 【VISUAL VB NET】Web Browser
  • 【Vuejs】 table implements adding and deleting
  • 【VUEJS】seamless carousel effect Marquee using transition

Blog Archive

  • October 2023 (25)
  • September 2023 (1209)
  • August 2023 (1224)
  • July 2023 (1259)
  • June 2023 (1245)
  • May 2023 (1194)
  • April 2023 (1137)
  • March 2023 (1163)
  • February 2023 (1107)
  • January 2023 (1313)
  • December 2022 (1358)
  • November 2022 (1353)
  • October 2022 (1300)
  • September 2022 (1208)
  • August 2022 (1279)
  • July 2022 (1228)
  • June 2022 (1164)
  • May 2022 (1176)
  • April 2022 (1184)
  • March 2022 (1337)
  • February 2022 (1232)
  • January 2022 (1321)
  • December 2021 (1932)
  • November 2021 (3065)
  • October 2021 (3186)
  • September 2021 (3078)
  • August 2021 (3175)
  • July 2021 (3198)
  • June 2021 (3136)
  • May 2021 (1856)
Powered by Blogger.