MacBook Air, M2 Chip, 8GB RAM: Nothing is open, but half the memory is gone
twitter.com
twitter.com
Would I recommend the 8GB of RAM to someone who wants to use it as their primary development machine or for heavy photo editing, absolutely not. Would I say it's OK for casual use, yes.
Do I think Apple is being stingy considering their incremental cost for an extra 4GB or 8GB of RAM in the base model would be tiny, yes.
Integrated memory on Apple Silicon has made the trade-offs much simpler to understand because there’s no separate GPU and VRAM to think about. The performance difference between Air and Pro models is so small, it’s irrelevant for practically anything.
I think that a normal user will feel the bad effect of the low ram amount but will not really realize where the problem is coming from.
Switching from one app to another is painfully slow. It might take 1, 2 or more seconds to go from one app to another in my opinion.
The os is really greedily evicting app memory once you switch to another window. And reload it when you come back.
I even have the personal hypothesis that Apple is keeping as-is the ergonomically awful Dock because of that. As it is difficult to switch between multiple windows of a single app, you can't easily realize how show you pass from a window to another. Like a magic trick.
Magic trick: press command + ~ to quickly switch to another window of the same app.
I've been using an 8GB M1 for a couple of years, including for development with C#, Go, Python, and Rails. I've had triple-figures of browser tabs open, Office 2019 Mac, Affinity Designer, and more all running at once. And never in all those years have I experienced sluggishness or slowdown either in-app or during switching.
I don't doubt your experience, this is simply to say that not all observed behaviours can be assumed to be generally applicable.
My main workflows are python dev and data analysis, some CAD modeling with fusion, and inevitably keeping too many chrome tabs open. Still, with what seemed normal to me, 32 GB didn't cut it, but reading these discussions is crazy making since I seem to be the only one.
This illustrates ignorance of the basics of how memory management works on macOS (e.g., "free" memory is not a determination of whether you need more RAM) https://support.apple.com/guide/activity-monitor/check-if-yo....
I wonder if it's due to extensions or something like that? Or could it be due to browsing different websites or using different networks?
Apple saying the "our 8GB is equivalent to 16GB" is something they've always done. Even in the PowerPC days they were selling the "megaherz myth" as if their megahertzes were better than intel's.
Of course when they moved to intel Macs received a huge performance boost...
Even light use will benefit from long battery life, nice screens, and quality construction, and a low cost windows machine will not have that. You can get a good windows machine with comparable hardware, but then it's not low cost anymore.
Can this be substantiated? "the system is greedy at allocating RAM and will release it to higher priority processes as they request it" is cold comfort to someone with 10 chrome tabs open and the system freezing up as a result.
Sort of. Use the `memory_pressure` CLI tool. You can use it to just simulate a critical memory warning and you’ll immediately see the system free up a lot of RAM.
In macOS parlance the key metric is “memory pressure”. From the tweet’s screenshot you can see memory pressure is only about 20%.
I searched around[1][2] and it's unclear how the chart is actually derived. It should therefore be treated with suspicion, along with other opaquely defined metrics like wework's "community EBITDA".
[1] https://apple.stackexchange.com/questions/202744/what-is-mem...
[2] https://web.archive.org/web/20200415041837/https://support.a...
Interesting. That'll probably mean it's in the source code Apple publishes for macOS:
https://github.com/apple-oss-distributions/distribution-macO...
Doing a search for the phrase "memory pressure" in the containing organisation (apple-oss-distributions) shows some relevant stuff:
https://github.com/search?q=org%3Aapple-oss-distributions+%2...
• memorystatus.md : https://github.com/apple-oss-distributions/xnu/blob/94d3b452...
# Memorystatus Subsystem
Dealing with memory pressure by forcibly recovering pages.
(etc)
• memory_pressure.1 : https://github.com/apple-oss-distributions/system_cmds/blob/... Looks like the man page for a `memory_pressure` command
• freezer.md : https://github.com/apple-oss-distributions/xnu/blob/94d3b452... # Freezer
Details of how some processes can be swapped out to disk.
[...] The freezer is a limited form of swap on embedded. Under memory pressure,
the freezer picks apps to freeze.
(etc)
And a whole bunch more. With some digging, it should be possible to find the exact info. :)Yes, since at least Windows Vista it's been very aggressive about caching into free RAM. It isn't complained about that often because Windows counts that RAM as "standby" RAM together with free RAM.
Where does it indicate that?
2. "app memory", "wired memory", and "cached files" added together exceeds "memory used", suggesting that not all of them can make up "used memory".
3. apple's own docs: https://web.archive.org/web/20200415041837/https://support.a...
3 isn't in the screenshot, but does vaguely imply cached and app memory are different. It doesn't directly say whether cached is counted in memory used though.
The linked "for more information" makes it less clear. For example, how does purgeable memory fit into the "app memory" "wired memory" and "cached files" distinction?
In another post you mention having ten tabs opening and the system freezing. If that's happening, there's probably a memory issue. I'm not sure Mac's resource monitor showing ~half your memory "used" means there is a problem.
I'm not sure what exactly you mean by "purgeable memory", because it hasn't been referenced earlier in this comment chain, and it's not in the OP either. My guess is that of the things listed, only "cached files" can be quickly freed if more memory is needed. You can technically "purge" app memory by compressing/swaping out to disk, but that's much more expensive.
>For more information about memory management, refer to the Apple Developer website.
http://developer.apple.com/library/mac/documentation/Perform...
One way to do better is to launch a program that uses lots of RAM, and measure by how much that slows down other processes, whether it makes the Ui stutter, etc.
It’s not gone! It’s there! You’re using it to type this and it will be there for you when you need it again.
It's "gone" in the sense that it's not available for other useful stuff. If you bought a system with 16 GB of ram, and the system just decided to eat 15GB of that for its own opaque purposes, leaving 1GB for your workloads, you'd be pretty miffed as well.
It's "gone" in the sense that it's not available for other useful stuff.
It is and this is the thing that people -- even software engineers -- usually misunderstand.Evicting cached data is for all intents and purposes a zero cost operation. That's why modern operating systems cache aggressively when they're not busy doing anything else: there's really no downside. If I'm caching file xyz.dll, and it turns out xyz.dll isn't needed, it's not like I have to write it back to disk or do any other (significant) work to evict it from the cache.
So yes: that memory is available, at no additional cost, for any reasonable definition of "available" and "no additional cost."
Honestly, why do so many just assume that the core OS kernel devs at multiple zillion-dollar companies get this fundamental Operating Systems 101 thing so spectacularly wrong in modern OSs?
RAM will never be understood.
Us vs. them based on 'karma' gives me bad vibes. If anything the fact that 'high-karma' users don't grasp low-level operating systems mechanics is a tell-tale sign of what it takes to get high up in the karma ladder. Better to keep that karma for what it is - a semi-functional means to keep out the trolls - and focus on the message instead of the messenger.
The sheer prevalence of memory leaks means that is a lie more often than not.
No, programs that release memory when there's high memory pressure is the exception, not the rule. You'd have to specifically go out of your way to code that in. A basic program that allocates some memory, and then frees it is going to cause the system memory usage to drop immediately.
Sorry, not seeing the issue here - RAM is designed to be used. Why would it flush it if there’s no pressure?
If one gets high swap then that’s a problem, but until then it’s simply the OS preemptively caching because “why not?”.
If you’ve paid for 8GB then you’d expect the OS to use it. Not sure why anyone would want the OS to purge memory when it doesn’t need to. It costs nothing to keep it ready and the OS can either page it out or get rid of it as and when needed.
This isn’t just Macs - happens on Windows as well.
https://www.reddit.com/r/Windows10/comments/11zp2ao/high_ram...
"Most scientists define wetness as a liquid's ability to maintain contact with a solid surface, meaning that water itself is not wet, but can make other sensation. But if you define wet as 'made of liquid or moisture', as some do, then water and all other liquids can be considered wet."
What indication is there that it could be flushed? The OP is referring to the 4.71GB used figure specifically. "Cached files" clearly can't possibly count towards that, because if you try to add that and the usages to the right (ie. app/wired/compressed) memory, you'll go above 4.71GB. Of items in the rightmost column, which can be "flushed"? All of them look pretty important. Does "flush" mean "swap to disk" for you?
If you're not OS engineer with a specific specialization in memory management, I'd suggest just sticking to the Apple article on this subject, which explains the easy way of evaluating whether you're experiencing memory-related slow downs https://support.apple.com/guide/activity-monitor/check-if-yo...
8gb is a slap in the face.
"I can't open $x because I'm out of memory." and "Time machine won't back-up anymore." (because their internal storage is full and isn't enough to generate the back-up to send to the octopus of external drives they have to use). And of course the inevitable breaking of the fragile externals and loss of data.
Edit: currently I have 20 browser tabs, 3 vscode windows, 2 development servers (and services like postgres and colima to support them) postico 2, spotify, slack, discord, mail, messages, calendar, and a handful of background apps like shottr, raycast, rcmd, rectangle and lunar open. The computer isn't even hot. Its swapping aggressively I'm sure, but its not noticeable.
When I hear the "professional development on 8gb Mac" line I typically imagine SaaS webdev or Swift/Applescript writing. Trying to imagine the monorepos I've worked on running on a base Macbook Air... unless you're using it as an SSH frontend I don't think you'd be very productive.
> Swift/Applescript writing
You dramatically underestimate the resources required to run Swift. I'm also developer license holder, and XCode brings the laptop to its knees. It is usable, but "XCode developers" are one of the small groups of people for who I'd recommend a ram upgrade.
Whereas all the not professional IT normal-people I see are having serious problems. Then again, I don't see them if they aren't having problems. Kind of selection bias. But when I need to fix these problems saying "We'll don't use that software." isn't acceptable. For PCs you just install more ram or upgrade to a new storage drive. For the modern macs? Buy a new one. It's pathetic.
The only reason Apple didn't put more RAM is to carve out the market for Pro models and squish money from consumers like you and me. There is no reason to defend corporation wishing to take more from a customer.
Every upgradeable component needs a socket to plug the thing into, along with the module needing the compatible plug design. This will add a non-zero amount of extra materials per laptop. Even just twice the amount of solder, never mind extra PCB space, copper and so on.
If you never upgrade within the lifetime of the device, then that is essentially waste. If the majority of people don’t upgrade then that could end up being significant.
You can also flip the irresponsibility back to software engineers. Are basic users really doing anything that needs 8Gb of RAM these days that you couldn’t do with much less 20 years ago? Why do we have RAM inflation?
Thank you Project Marzipan/Catalyst. I love having hundreds of Safari processes running my OS instead of native Cocoa, yessiree.
[0]: https://www.cocoanetics.com/2012/12/uitextview-caught-with-t...
They can view x-rays and make presentations. Happy with that.
Have the last MacBook Pro Core i9 model with 64GB RAM and 4TB SSD and in trying to sell it the prices seem super low way less than 1k.
I bet the M2 is worth way more.
8gb RAM is completely insufficient these days.
Apple has been attempting to create a culture of scarcity for years, locking more ram away behind a thousand dollar upgrade when in reality it’s $20 worth of chips under a sane, user serviceable architecture.
So basically an 8GB laptop is really a 6GB laptop. Yikes.
Also, it's already using ~540mb of swap memory... Swap usage will kill the flash chip pretty fast.
Besides everything, this will generate an incredible amount of e-waste.
</half-ironic tinfoil hat off>
lol
There is a separate metric for ram actually in use by a program. But that number isn’t an ideal “ram used” because it doesn’t account for compression or swap.
Linux is basically the same.