Ask HN: Has the Apple Silicon excessive disk read/write issue been fixed?
This was a discussion when M1 macbooks were launched, and Apple supposedly addressed it in an OS update (macOS 11.4).
But I'm seeing really high read/write numbers. I'm aware that SSD lifespans are long and TBW spec is pretty generous. Still, compared to my linux machines, this seems extraordinarily high.
On my newish M1 MBA, with the latest updates, with barely any use, 98%+ sleep, I'm seeing about 3 to 5 GB reads per day and 2 to 4 GB writes per day.
Latest report from smartctl.
----------------------------------------------------
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 27 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 716,195 [366 GB]
Data Units Written: 616,232 [315 GB]
Host Read Commands: 9,108,273
Host Write Commands: 6,947,397
Controller Busy Time: 0
Power Cycles: 95
Power On Hours: 5
Unsafe Shutdowns: 11
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
----------------------------------------------------
M1 Air 16GB 1TB.Is this normal?
143 comments
[ 5.4 ms ] story [ 771 ms ] threadI wonder if this whole issue is simply MacOS dumping the stuff in memory to disk when going to standby, and then reading it all back.
So for a 16GB machine, for simplicity, let's say you always have RAM saturated, and you open/close the lid 5 times in a day, you have 16GB * 5 = 80GB per day read/written. For 365 days, that is 80 * 365 = 29200 GB or 28.51 TB read/written.
I have custom pmset setup to NOT dump to disk (mostly) with two aliases:
First one is memory only, if the battery dies, the battery dies and the OS goes away.The second one is hard drive only, closing the lid writes to disk only and puts the laptop into deep sleep.
I know I'm weird for having this but since I run the first one (fast) 99% of the time I can basically say I almost never write hibernation files to disk.
It's a bit smarter than that, it only writes memory contents to disk after a given period in standby. So in your example you'd only be incurring it twice a day probably.
Holy shit, that's like once a day?
<He says, with a note of pride>
What model SSD is this?
=== START OF SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 34 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 4%
Data Units Read: 181,700,939 [93.0 TB]
Data Units Written: 123,234,692 [63.0 TB]
Host Read Commands: 2,190,216,039
Host Write Commands: 1,482,884,502
Controller Busy Time: 0
Power Cycles: 159
Power On Hours: 1,480
Unsafe Shutdowns: 16
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
----------------------------------------------------
I don't really know how to interpret this but I've been getting consistent crashes once my battery hits around 25% charge and the widely reported "AP watchdog expired" error message. Battery capacity's now at 71% and dropping rapidly after sub 500 charge cycles. Couple months out of 1 year warranty. Any advice is appreciated, would hope I'm not just shit out of luck for such an expensive device after ~15 months.
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 31 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 5,641,034 [2,88 TB]
Data Units Written: 5,080,733 [2,60 TB]
Host Read Commands: 133,355,019
Host Write Commands: 71,299,866
Controller Busy Time: 0
Power Cycles: 138
Power On Hours: 98
Unsafe Shutdowns: 6
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
So 226TB is ~8% for this capacity, i.e., about 28.25TB per 1%, so about 2825TB expected TBW. Ignoring the fact that this is ignoring many factors contributing to the life span, it's still quite an interesting capacity.
I keep half an eye on the task manager (put it on the dock) and if you see red (kernel time) start to really spike up it can indicate swapping and it's time to reconsider your tabs. It can be other things too but it's one thing to keep an eye on. It's 16gb, it's not infinite, and if you have 1000 tabs open then yeah you're probably going to want to close some before you start something else, but, it's reasonable for consumption or light personal dev work (especially if you have a fileserver that could run containers/DBs). It's not gonna omg burn out the SSD the first time you have 100 tabs open.
8GB would be really really tight though, I'd imagine those machines might be swapping quite a bit more, that's a very low RAM spec other than for a consumption machine or terminal. And I wouldn't say no to more at 16gb either, too bad there's such a price increment on M2 24GB or MBP 14"/16".
Someday it'd be nice to move up to a 64gb spec and just have all the RAM, but there's other things I'd rather do, the MBA is fine for around the house etc, and I wanted to build a beefy fileserver to host services/containers anyway.
My linux machine that I have used for professional development for 6 years now reports (typed out the relevant bits by hand).
16GB 512GB SSDThis is a machine that has been used for full time development, running virtual machines and docker and all sorts of activity.
After all that, it reports only ~5TB read/written. That is mind blowing to me.
Due to the onboard SSD, the machine will be dead.
Lots of web, and video watching. Some very light development and a ton of email :)
I think the unsafe shutdowns are due to my kids trying to run Steam and other games that may or may not work properly, e.g. Farming Simulator that didn't play nice, and cause the computer to freeze forcing us to do a hard shutdown.
8 GBs And Constantly Swapping?
One reason, is that I am constantly using Xcode, which is a bug farm, and SourceSafe used to crash like crazy.
Also, some of the apps I'm developing don't start off, perfect. I spend a lot of time crashing.
The advent of the M1 seems to have ushered in a new threading system. The threads act weird, now (look at how long it takes to resolve your stack, on a breakpoint). I'm pretty sure it really doesn't like crashes.
And I stopped playing Borderlands 3, because it liked to crash hard.
In all fairness, it also does this on underpowered Windows/Linux hardware. It really is just a poorly made game, not Wine/Apple's fault here.
I did use SourceSafe, but it has been many moons.
In any case, SourceTree just released an update that seems to have fixed all the crashes.
Xcode still has some issue with the source code analyzer. Sometimes, it just hangs. In some cases, it’s not force-quittable.
There was a time period where I had this docked with displays and the MBP would often wake up from sleep randomly, or from mouse movements. Never did quite figure it out.
It also could crash often, but if that’s the case, I guess you’d have seen data loss. If you run disk repair in Disk Utility, does it find problems with the SSD?
corespotlightd and suggestd in particular seem to do some kind of indexing operation after some trigger, which can write tens of gigabytes to the SSD.
I managed to narrow it down to an RSS reader app (from the app store, so presumably not doing anything untoward), which appears to be getting indexed. despite having turned almost all indexing in spotlight off, and even excluded ~/Library and /Library from spotlight.
After the main writes are done (150 MB/s for a period of time), corespotlightd and suggestd then continue to generate a background load of around 50 MB/s of writes for a sustained period of time.
Console logs show there's "ProactiveHarvesting" going on in suggestd, but no clear way to switch this off. I suspect (based on watching it write 16 GB over 5 to 10 minutes), others could be encountering this, or other similar behaviour.