Follow By Email

Monday, November 28, 2022

[New post] How much Unified memory does your Apple silicon Mac need?

Site logo image hoakley posted: "Deciding how much memory your new Apple silicon Mac needs is one of the more irreversible choices. As its memory is mounted in the chip carrier and there's no way expand it later, what you get in the first place is all that Mac will ever have until it goe" The Eclectic Light Company

How much Unified memory does your Apple silicon Mac need?

hoakley

Nov 29

Deciding how much memory your new Apple silicon Mac needs is one of the more irreversible choices. As its memory is mounted in the chip carrier and there's no way expand it later, what you get in the first place is all that Mac will ever have until it goes for recycling. Add to the fact that Apple silicon Macs use their memory differently from Intel Macs, your guess as to how much you need might be no better than mine.

Knowing that Apple silicon Macs don't have separate graphics memory but use main memory instead can mislead you into paying for more than you need. For example, my Intel iMac Pro has 32 GB of memory and 8 GB on its graphics card. Add those together, and you could easily assume that an equally capable Apple silicon Mac would need a minimum of 40 GB. Thankfully, that's not the way it works. To understand why, let me take you back to how your Mac generates what you see on its display.

WindowServer

Every app is responsible for drawing the contents of each of its own windows. They are then passed to WindowServer, which composites together all the different windows over the Desktop, and passes the rendered composite image to the graphics card to display. In most better Intel Macs, the first stages up to and including WindowServer take place using that Mac's main memory, but when WindowServer hands the composited image over to the graphics card, those contents have to be transferred from main memory to that on the graphics card.

It's worth noting that WindowServer's composite image isn't the final bitmap shown on the screen, as much of its contents will be generated in the GPU from Metal descriptions for the windows and their contents.

In Apple silicon Macs, WindowsServer and the GPU both access main memory, so none has to be transferred, and much of the dedicated graphics memory isn't necessary. This also means that what is shown for memory usage differs: typically, on my iMac WindowServer potters along using anything from 162-300 MB, but on my Mac Studio M1 Max it hardly ever uses less than 500 MB, and more typically takes anything up to 1 GB.

So the first lesson is estimating how much memory an Apple silicon Mac needs is that you can't simply estimate it from the memory in your Intel Mac.

How many windows?

The way you use an Apple silicon Mac can make a big difference to its memory requirements. If you love to have dozens of windows open, or minimised in the Dock or Stage Manager's cast, then that will prove expensive.

Taking Safari windows as a basis for illustration, I looked at this earlier this year in Monterey 12.2.1, and found that each open Safari window added around 50 MB to the memory used by WindowServer. Other apps can be even more demanding on WindowServer's requirements. If you like having dozens of windows active on your Mac, it's not hard to end up with WindowServer using well over 1 GB.

I've just repeated those tests using my Mac Studio M1 Max with Ventura 13.0.1, and am delighted to report that it's significantly more economical, but each Safari window will still cost WindowServer around 25 MB. This is almost certainly a direct result of using Unified memory.

How many apps?

Other than active windows, there isn't much difference in the memory cost of open apps. My Studio is rather leaner than my iMac in terms of what loads before I run any apps, and uses a base of around 6 GB, against 7.2 GB for the iMac (thank you, Adobe). Add Safari with 12 tabs open and that adds around 2-2.5 GB to both. With Xcode open and editing an app, and TV playing a movie in a window (not full screen), and total memory used rises to between 10.5-11 GB, with little difference between Intel and Apple silicon.

With less than 20 windows open, and three substantial apps running, there's precious little difference in overall memory requirements between matching Intel and Apple silicon Macs.

The penalties of using swap

Throughout my tests of memory use I avoided my Mac using swap, the on-disk component of virtual memory, as I aim to in working use. Swap is always there just in case, but you should do everything you can to ensure that your Mac doesn't use it. This is spite of the fact that, with their exceedingly fast internal SSDs, Apple silicon Macs can use swap without your even noticing.

The reason is that using swap will reduce the working life of your Mac's internal storage. When your Mac is using significant amounts in its VM volume as swap, it increases the number of writes made to the SSD, and those eat into its life. Swap still has a cost, and that may lead to the early death of its SSD, which then requires a logic board replacement.

This isn't a theoretical argument, but was noticed by some of the early adopters, who could only get M1 models with 8 GB of memory, then realised how quickly the forecast life of their internal SSDs was falling.

Benefits of Unified memory

Overall benefits on the amount of memory used for Unified memory may not be impressive. Others might appear more subtle. Because there's no need to keep moving graphics and other memory contents between different pools of memory, Unified memory has marked benefits on performance. It also enables the GPU to use less energy and generate less heat, so reducing cooling requirements. Unified memory is a key part of the formula that makes Apple silicon what it is.

Key points

  • Don't estimate memory needed by adding Intel main memory and graphics memory.
  • Unless you work with lots of windows open, memory requirements are likely to be similar to Intel main memory.
  • If you want lots of windows, add a few GB to allow for WindowServer's needs.
  • Ensure your Mac has enough physical memory to avoid using swap. The internal SSD should then live longer.
  • Never expect to be able to expand memory in an Apple silicon Mac.
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/11/29/how-much-unified-memory-does-your-apple-silicon-mac-need/

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

No comments:

Post a Comment

Newer Post Older Post Home
Subscribe to: Post Comments (Atom)

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

...

  • [New post] Godzilla Library Edition by James Stokoe, John Layman, Chris Mowry, Alberto Ponticelli, Dean Haspiel
    ...
  • Chocolate Chip M&M Cookies + AUGUST BAKING CHALLENGE
    The universe wants you to make cookies, just sayin'  ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ...
  • Your Guide to Winter Squash
    ...

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.