M1 Mac excessive SSD write issue – are Rosetta-based system monitoring apps a possible cause?

UPDATE: I’m convinced it’s best not to install any Intel-based system utility – monitoring or anti-virus/anti-malware – until the vendor has released Universal or Apple Silicon only binaries. I just installed BitDefender Anti-Virus for Mac, which is still Intel only, and it wrote – according to Activity Monitor – 35Gb of data to disk within a period of 5-10 minutes during a scan (it read 22Gb).

There’s been lots and lots of news recently about how the SSD (the internal super fast storage) within M1 Macs (MacBook Air, Pro and Mac Mini) is being excessively written to, and that an M1 Mac’s SSD lifetime is being reduced substantially through all these excessive writes. Like us humans, SSDs have a finite time here on Earth given the nature of the beast, but ordinarily, they should typically outlast the machine they’re installed in many times over.

I have only 8Gb of RAM in my 13″ MacBook Pro M1 machine, and I’m fully aware of swapping. But even so, this shouldn’t affect the overall lifespan of a machine that much – if at all, and especially with modern techniques for managing it within an SSD controller. But even I did notice that kernal_task was writing a substantial amount of data (~250/300Gb) of data daily (after the machine was set-up and all applications installed) – even with the swap file activity was relatively quiet and very few applications were running.

It’s worth mentioning also that the output from ‘top’ and activity monitor looks like it includes ANY disk write activity, including external drives (such as what I use for Time Machine) and other mounted volumes (disk images or DMGs) – or at least, that’s what I’m assuming here. I’m hesitant to pull data from S.M.A.R.T. utilities (or any other utility for that matter) since Apple’s controllers may not necessarily conform to their specifications. Also, if Apple intended us to use SMARTtools for drive diagnostics on the command line, they’d have had them installed as part of macOS. It’s all a bit confusing though, because this is the output from System Report:

and then there’s this from Disk Utility:

Is Apple using its own smarts via Apple Fabric to monitor SSD lifespan, and not the S.M.A.R.T spec?

What I forgot to check was my go-to-machine monitoring app, iStats Menu, was a Universal binary (or at least Apple Silicon). I was wrong. It is still an Intel native app, and is run through Rosetta 2. It is able to monitor most metrics just fine, so I didn’t think much of it. Of course, it was installed on day one of getting the MacBook Pro…

Thinking about all the apps I use, and the kind of use they get, I thought whether iStats Menus may be aiding and abetting in the excessive SSD writes somehow. I couldn’t see any file-based logs growing in size on the filesystem, nothing that would attract substantial writes at least. My thoughts turned back to iStats Menus and its binary compatibility. How does Rosetta 2 handle monitoring like that?

So I decided to uninstall iStats Menu and replace it with iStatistica Pro – something I bought a little while ago. It’s a Universal binary now, and its sensors work with M1 Macs just fine. Since then, the number of writes to the SSD has reduced considerably. We’re talking about 100Gb for 4 hours of the machine being online with iStats Menus versus 15-16Gb for 4 hours with iStatistica Pro. No other changes were made to my application line-up.

I think if there is any blame to be had, it’s probably Rosetta 2. It’s an incredible piece of technology, but I am not entirely convinced – depending on the application – it is terribly I/O friendly – even if it’s no longer a JIT translator anymore, but rather it “compiles”/translates the ARM64 binary from the original when an Intel application is first opened.