SSD Wear and Apple M1 – The Truth!

what am I looking at?

Just like the rest of the internet, I am curiously looking at what is going on, but unlike the drama around the M1, I personally think the blame is on macOS and not the M1.
But.. I also believe there are factors involving the M1 making this worse.

Let’s go!

So what do I use my notebooks for

I am not the average user, but I also am not a crazy heavy user, so let’s use an average work day.

I will have VS Code, Microsoft Office, Safari, Terminal, MS Teams, Spark, Spotify, Quip, and maybe a few other apps open.
Some days I will have a VM running, and maybe do some testing using a local database.

I am not comparing this to my desktops, as they experience a totally different type of work.

On weekends, I might be shooting photos, and playing with Lightroom, or video’s and playing with Davinci Resolve.
Resolve and Video is very heavy on SSD usage, but I also usually work on an external SSD, so would not be a major factor, when I compare to my XPS13 which I don’t use for video.

What notebooks am i comparing

While I have others, it is only these 3 that see this usage, and amount of RAM, which I think is a key factor.

MacBook Pro 15″ 2016, 2.7Ghz Quad Core, 16GB RAM, always up to date macOS

MacBook Pro 13″ M1 2020, Apple M1, 16GB RAM, always up to date macOS

Dell XPS13 2017, i7-8550U, 16GB RAM, always up to date Kubuntu LTS

These notebooks have not been used the same percentage of time, so we will be using the SSD Power On time as the life baseline.
This is more relevant as while used, they are used the same way.

The data

Let’s get right into it!

NotebookWrittenReadPower On HoursPercentage UsedWritten per HourRead per Hour
Apple M115.0TB 19.6TB203075.7GB/hr98.9GB/hr
Apple Intel29.2TB31.4TB631147.4GB/hr51.0GB/hr
Dell Intel3.04TB1.81TB256012.16GB/hr7.24GB/hr

Anyone can take an uninformed conclusion from that, but to be honest, I have done a LOT more database work on the XPS13, and the Intel Apple has seen much more usage in VM’s
I would have imagined, knowing what they are used for, that it would be Apple Intel, Dell XPS, and Apple M1.

But that is not the case, in fact, it does not even slightly represent that.
What is obvious though, is that the read and write on both Apple notebooks is excessive!

I mean, 98.8GB/hr, that’s 28MB/s average… Average!!!

So a quick look at where it is all being used… “kernel_task”
Well, that isn’t helpful.

lack of Ram, all swap?

Yeah, that’s my first thought as well, I mean, I run 128GB of RAM in my desktop, and 64GB of RAM in my “game” notebook.
I wish these were 32GB, but I had no choice.

But they do also receive fairly low usage compared to the more beefy machines, so let’s look at swap!

So, I opened a similar setup on both M1 and Intel, and this is what I see.

M1 MacBook Pro
Intel MacBook Pro

Sure enough, there’s swap used, but why. And how am I already using >10gb of memory?
Whats using so much?
Teams is sucking away 3.0GB, it is successfully maintaining the status of the WORST communications tool in every aspect, that’s no surprise, but its a LOT!
Safari 2.1GB, that’s expected for 6 tabs.
Spark at 1.4GB, not great, but its in the name of business.
Spotify at 1.2GB, just for playing MP3’s

Lets not go further… 3+2.1+1.4+1.2 = 7.7GB
The main macOS would surely need 3GB or so to boot, which instantly makes an 8GB machine unsuitable for pretty much anyone. Not a surprise.

So am I hitting swap then given I don’t do a lot on these notebooks?
yeah, I am sure I do!
But why not hitting the swap on the Dell Linux machine?

Time to compare more closely.

That means, same apps, same web pages, nothing big running in the background.
That means no Spark or Safari, will use Chrome as its the most common browser.

Lets start with chrome, and load up 4 tabs. Anandtech, Hackaday, YouTube, and Reddit.

Linux is using 264MB RAM
M1: 203MB + 447MB for GPU Helper … plus lots of renderers, okay, at least another 600MB
Intel: 156MB + 409MB for GPU Helper .. plus lots of renderers, okay, at least another 800MB

Sanity check this is needed, it seems so far out there.

Let’s quit them

NotebookSwapUsedQuit SwapQuit UsedDifference
M1312M10.9G312M9.4G1.5G
Intel265M12.9G265M11.3G1.6G
Linux0K2.5G0K1.6G0.9G

Interesting eh, lets just look at Safari, as I know it uses more, on just the M1
11.8 to 9.7, for 1.9GB difference, which again, is what I would expect vs chrome.

Okay, so here we are looking at the RAM efficiency of a web browser “in” macOS causing an issue…
Lets compare Safari, Chrome and Firefox on the M1, Intel and Linux using the same pages

NotebookSafariChromeFirefox
M11.8G1.5G1.3G
Intel1.9G1.6G1.6G
LinuxN/A0.9G1.5G

Yes, I did re-perform those test, and yes, they did come out the same (within the margin of rounding error)
So unless you are using chrome on Linux, that’s not it, and I did not expect it to be. The low RAM usage of Chrome on Linux though is a real surprise!

So it does not seem, for the most part, web browsers are more hungry on macOS to linux.

Lets do a fresh boot of macOS and Linux and see what the results are.

NotebookUsage on Boot
M15.8G
Intel5.6G
Linux0.5G

So on boot, after a few small things launch in the background, iStat, and that’s about it, its at 5.8G
I then started Teams and Spotify…. Nothing else. 8.8GB

Yes, launch two Apps, and if you had an 8GB M1, it would have been swapping!

Lets keep launching, Lightroom: 10.1GB
And at least my 4 tabs on Safari: 11.3GB
Photoshop: … but it had to download the image, so while I was waiting, I started a YouTube video and edited a photo in lightroom… It swapped already!!
11.8GB RAM and 1.12GB sitting in SWAP!
I will wait for photoshop to load…

So here is where it sits.
Fresh boot, Lightroom with 1 iPhone photo being edited, Safari with 4 tabs, Microsoft Teams, Spotify, and Lightroom editing a iPhone photo with 2 layers.
12.2GB of RAM, and 1GB of swap.

The concerning bit though is while it just sits there, I am watching the swap fluctuate up and down several hundred MB.

I quit everything but Teams, 5.3GB and 600M in Swap.

The Intel Mac is no different, swaps early, fluctuates like crazy.

Lets do a fair Linux vs macos

Reboot

Chrome (all tabs above + wordpress for this), OBS Studio, VS Code, MS Teams, Spotify, Terminal (iTerm and Konsole), and a task manager (KSysGuard and Activity Monitor)

This is the reality, there’s nothing good to say about this. How much more can I run on Linux compared to macOS, its hard to believe! And for how snappy they are, yeah, theres no question the M1 kills this ultrabook in comparison, but thats no surprise to anyone.
So, I just needed to compare Windows, unfortunately I don’t have any windows computers with 16GB of RAM.

OSWired UsedMem UsedCache UsedFreeSwap
macOS1.69G10.74G5.02G0.53G0.32G
Linux2.8G2.94G4.97G7.43G0.00G
Windows8.62G6.30G16.49G0.00G

So if you took out the extra 16GB RAM that the windows machine has, its perfectly on par with macOS, one is as bad as the other.

But where does all that memory go?
Apart from chrome which is unusually more efficient on linux, all the apps all consumed similar amounts of memory.. its the OS and all its extras, spotlight/searchapp, window manager, onedrive, icloud, so on…
They are not, and not even close to light and efficient OS’s.

But the question remains, why is it not removing some of that cached memory, why is it instead hitting the swap.

Disable swap and lets see

This is a great way to get a kernel panic, because the moment RAM runs out, something needs to give.
But I do want to know if it will better treat the cache, and what type of difference it will make.
Now, this one is hard to gauge as well, because due to no cache, it will need to hit the SSD more often.
All this may do is reduce stability.

But, I need to know, so, how to I quantify this…… I have an idea, this is what I am going to do.

Reboot, Check SSD Read/Write.

Launch a heap of Apps

Reboot, Check SSD Read/Write.

Disable Swap


Reboot, Check SSD Read/Write.

Launch as per last time

Reboot, Check SSD Read/Write.

Now, This obviously did not include hours of usage, which I might do later, but lets collate the data

TestData Units ReadData Units WrittenDifference in ReadDifference in Write
Start with Swap3844863629526142
With Swap38474305295369872566910845
Start with No Swap3848355029537830
End with No Swap3850653529539854229852024

Okay, so, what is that in GB, I assume 512Byte to a Unit, lets see.
38448636 = 18.33TB … hmmm, Not TiB but the other way, lets try: … 19.7TB … so be it.

TestReadWrite
Swap13.14GB5.55GB
No Swap11.77GB1.04GB

This is about what I expected, and I am sure that the difference would be much larger over a longer period of time.

Summary

  • macOS is a PIG with RAM, and uses over 5GB or just for itself, quite inline with windows, not Linux
  • macOS swaps early, and seems to prefer to swap rather than remove cache
  • 8GB of RAM is not enough for any user. I cannot imagine there is any person who could own a 8GB M1 and not have major swap going on
  • Apple M1 is no different from Intel, its all Hype and Junk that its an M1 issue, and the fire needs to be aimed direct at macOS and Apple for releasing notebooks without sufficient RAM and bloated OS’s

I am very disappointed in everyone assuming its an M1 issue without even bothering to look!

I will leave swap off, I don’t actually think I need it, I will monitor RAM usage, as I will have to to ensure it doesn’t crash on me, but I think I might actually be okay with it off.

I do NOT recommend anyone with an 8GB RAM Computer with Windows or macOS to disable swap even for experimenting, it will end in tears, 8GB is not sufficient.

I will do a video for YouTube on this, and link it here when done.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s