M1 Mac owners are experiencing high SSD writes over short periods of time
linustechtips.com
linustechtips.com
What, exactly, is the problem with that?
It seems like there are a lot of assumptions in play in this "headline news":
(1) assuming that the reported numbers are valid for this measurement at all
(2) that they are not a bug in the IOKit implementation used by smartctl
(3) that they are not not a bug in smartctl itself
(4) that they are directly comparable to non-M1 hardware without further processing
(5) that they do not increment when Time Machine or other filesystem snapshots occur
(6) that they do not increment when APFS copy-on-writes occur
(7) that they do not include the total byte size of sparsely-modified files
I don't see anyone checking these assumptions yet, but if y'all do, supporting links on those points would improve this HN post considerably. There are other assumptions that could be tested too! Outrage is cool, but science is productive.
Makes me wonder if the engineers at Apple decided it was an acceptable trade off.
I have a very lean setup on it with Linux. I don't think it'll last too much longer to be honest.
I mainly use it if I'm on my phone, but find something that a bigger screen/keyboard would help.
But I can't do much on it. Even a RPi has more RAM on it.
Enterprise Linux distros such as RHEL regularly provide 10-12 years of support you can pay for per major version and presumably you will be able to upgrade the major version to reset the time.
Same thing for community Linux distros - Fedora, Debian of OpenSUSE already work on current 16+ years old hardware and one can expect that to continue in the future.
Case in point, my ThinkPad T420 has been in use since 2011. Even though it's no longer my main driver, the performance is more than good enough for when I need a backup device.
For comparison, 16 years ago, we're talking about single-core 32-bit CPUs, the very first version of their Centrino brand, DDR2 RAM and IDE/PATA HDDs. There's just not much you can do with those limitations.
Right now we are hitting the threshold of incompetent programmers and tools long before any other.
The human brain runs off umptillion neurons each running at 100-1000 Hz (depending on measure). Not GHz, MHz or even kHz. Hz. Obviously it's an extreme case, but if general intelligence can be achieved without fast serial computing then there should be lots of things we can do with a few dozen cores all running at GHz rates.
It's just a friend's kid's video player right now, because with OSX it's become too slow for most uses, but if someone put Linux or BSD on it....
[1] https://linustechtips.com/topic/1306757-m1-mac-owners-are-ex...
Edit: I suppose it makes sense that the people seeing lots of wear are the 2TB drive buyers. People that are willing to pay for that much NVME probably use it a lot.
My 1TB NVMe drive in my Intel mac desktop is at 1% after 18 months, and shows some 46TB of writes by their data collection method. At least 600GB of the data is music albums that haven’t changed since I first copied it over, and I’m mildly curious whether it’s truly writing 32GB/day for 18 months (since I never run out of RAM and I don’t do large I/O activities).
But they’re all focused on M1 so I’m staying out of it and letting them do so.
I was never concerned with wear, have moderate demands/usage and used these drives as much as needed.
I guess it depends on the use case. I have a 2TB drive for my home macbook pro because that's where all my photos/videos get synced to. There shouldn't be a lot of reads/writes to a significant part of my drive even though it's large.
I really don't understand why Apple is apparently incapable of making these laptops use standard, replaceable m.2 NVMe SSDs.
Seeing this thread made me concerned, but it looks like my SSD isn't something to be worried about yet:
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 34 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 6,963,442 [3.56 TB]
Data Units Written: 3,626,988 [1.85 TB]
Host Read Commands: 110,283,456
Host Write Commands: 59,878,323 > I really don't understand why Apple is apparently incapable of making these laptops use standard, replaceable m.2 NVMe SSDs.
Are you even serious? Because then they wouldn't be able to charge $250 premium for 250GB of SSD.People still pay it, because most people probably don't know the RAM is replaceable, don't want to be bothered with doing it themselves, don't want to accidentally damage their new computer, don't realize the upgrade prices are high, or other reasons.
Apple has always charged high premiums for upgrades... premium upgrades aren't a strategy they suddenly invented when they started soldering components down.
Apple has reasons for soldering down components, reasons which I don't really agree with, but I don't think they're all that worried about a small percentage of people avoiding their upgrade prices.
Not everyone does. There is even a thriving market for such kinds of user replaceable upgrade proving that more and more people were opting to do the upgrades from reliable third-parties than Apple.
> Apple has reasons for soldering down components, reasons which I don't really agree with, but I don't think they're all that worried about a small percentage of people avoiding their upgrade prices.
- If you make the SSD replaceable, many more people will replace theirs.
- Apple doesn't want to put an SSD access port into their laptops for design/strength/reliability reasons.
- Replacing the SSD would therefore entail people disassembling the computer.
- Apple doesn't want people disassembling the computer
* solution = solder it onto the motherboard.
Very few non technical consumers, which is the vast majority, ever upgrade their computer.
Now the MBPs for the whole team need to be replaced at great cost and double the environmental resource use. Without Apple soldering the memory our IT department would have certainly just upgraded the memory. In fact, when I ran into similar issue with needing 32GB to my 16GB Dell laptop, that's exactly what we did.
Because the chargers are known to have a huge impact because of all the rare earth in them.
Case in point: the M1 Mac Mini internals are half electronics, half air. They could've easily fit all kinds of slots and modular components in there, yet they deliberately decided not to.
I mean, they're not defective, they can be refurbished.
In this case, the company actually only officially supports (leases) Windows laptops. Macs should not officially exist to start with, but are nevertheless required for iOS app development. So MBPs are handled as "extra" IT equipment. If there is no use for such a piece of IT equipment (e.g. it is underpowered or otherwise not fit for purpose) AND it contains sensitive business data (like a developer computer almost certainly does), it is actually a security issue for the company.
So for security reasons the company would actually prefer that such computer be DESTROYED when there is no use for it anymore. Sadly you can not even remove the hard drive from a MBP and sell/give it to a employee for personal use, so Apple soldering the components on the mainboard is a double whammy.
The soldered on stuff is a recent change, and it's stupid for things like RAM, but even more stupid for things that wear like SSDs.
What you wrote is only a part of the story. Another one happens after using the computer for couple of years. RAM and SSD prices are declining over time, while software developers are finding exciting new ways to use more of them.
It’s more profitable for Apple when users replacing entire computers than just RAM + SSD. Unlike the initial premium upgrades, users have more motivation. Warranty’s expired, and the price difference is way larger.
Are there any hard cold data on how often a mac user gets a new laptop vs a pc user? It would also be interesting to see how common it is for pc users to add ram/disk during their pc:s lifetime.
There are also windows machines that make it hard to replace things mind you.
It may change in the future if Apple introduces planned obsolescence, but so far no issues
Such a waste.
I love my Macs but Apple definitely are not environment focused, for the reasons you state
What a lot of people neglect to consider is that non-Apple brands have an entire "budget" category that Apple does not participate in. It's wrong to compare this category with devices of another category, no matter the make and model.
The 2015 MBPs were the last ones that had replaceable drives (it's a proprietary slot, but adaptors to M2 are available).
I still think that the 2015 models are the last laptops Apple actually targeted at pro users. They even added support for PCI NVMe drives in a recent macOS version, so these MBPs got MORE EXPANDABLE after release. It's crazy! (It does have soldered-on RAM though)
The only comparable recent Mac was the 2018 Mac mini -- with user upgradable RAM! It does have soldered on flash, unfortunately. But it has so many ports, and with external thunderbolt enclosures you can add GPUs, SSD Raids, ... It's pretty amazing for a small desktop and surprisingly usable as a developer workstation.
(I'm not counting the current Mac Pro because it is so outrageously expensive that I can't imagine that it makes sense for anyone except the most highest paid professsionals)
I type this on my work MacBook where I've had to press backspace so many times due to the shift key not working and the i key repeating itself, with the touchbar flashing constantly next to the power button.... the battery has a worse rating too even though it's a 2016 versus my 2012. I hate this keyboard.
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 35 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 3%
Data Units Read: 117,454,110 [60.1 TB]
Data Units Written: 108,475,036 [55.5 TB]
Host Read Commands: 471,949,425
Host Write Commands: 309,499,261 SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 25 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 5,849,123 [2.99 TB]
Data Units Written: 2,568,550 [1.31 TB]
Host Read Commands: 75,126,642
Host Write Commands: 32,909,838
Controller Busy Time: 0
Power Cycles: 160
Power On Hours: 42
Unsafe Shutdowns: 3
Media and Data Integrity Errors: 0
Error Information Log Entries: 0I wonder if Chrome's memory usage pattern is a contributing factor.
This is my 11y/o SSD ( OCZ Vertex2 64GB ) on my laptop:
241 Lifetime_Writes_GiB 0x0032 000 000 000 Old_age Always - 3904
242 Lifetime_Reads_GiB 0x0032 000 000 000 Old_age Always - 5120
Did you even read the headline? I mean, it's kinda what this is all about.
So, this is likely just penny pinching the manufacture, and assuming the customer will bear the repair fee if it breaks.
Also, Apple never actually used M.2. All of their socketed SSDs are proprietary form factors, though there are cheap adapters you can buy that will let you use M.2 drives.
You know the other side of m.2 is screwed in, right? Anything that manages to "jostle" a m.2 drive out of the socket has likely also destroyed the machine.
I can't get around to how people say such stuff with a straight face - Apple is a 20-30 year old trillion dollar hardware company and its engineers can design high-tech processors, but apparently can't ensure that a RAM or SSD remains fixed in a slot? Do you really believe that?
> There are probably other reasons
Sure there are, and I'll list the major ones - planned obsolescence (soldered parts are harder to repair) and increased profits through price gauging on upgrades.
Neither of these really makes sense.
Planned obsolescence: Apple laptops retain their resale value for a very long time. Even if 8GB of RAM is no longer enough for you, there are plenty of people who'll still be able to use the device for many more years. The days are long over where computers became obsolete after a few years without upgrades.
Price gauging on upgrades: Almost everyone buys the base configuration, and almost no-one upgraded RAM or HD even when the hardware used to allow it. Whatever increased profit Apple are making from upgrades is going to be absolutely tiny.
If Apple really wanted to price gauge on upgrades, they'd at least stock the 16GB models in stores. My guess is that it's barely worth Apple's while to make these models at all, in a purely economic sense. What you're paying for isn't the cost of the RAM/storage itself, but the money necessary to make it worth the bother of making additional models which almost no-one buys.
Planned obsolescence here means limiting upgrades and repairs, and making repairs or replacement so costly that you prefer to buy a new device if the current model develops performance issues or has hardware failures. With the M1 this is even worse now as you can't even run other base OSes on it reliably, thus making its users susceptible to systemic obsolescence (not including hardware or software compatibility when the OS is upgraded).
It has nothing to do with the resale value of a product. (It is a humbug argument as nobody can predict what the value of your device will be tomorrow if some newer technology comes along. Moreover, soldered parts and non-user-replaceable battery actually make such laptops even less desirable in the seconds market because they cannot be upgraded, unlike the older Apple laptops).
> Almost everyone buys the base configuration, and almost no-one upgraded RAM or HD
I'd really like to know your source for this.
> What you're paying for isn't the cost of the RAM/storage itself, but the money necessary to make it worth the bother of making additional models which almost no-one buys.
Again, share your source for this really ridiculous argument - they wouldn't need to bother with all this if they didn't solder the parts in the first place.
In looking at repairs you have to factor in reliability as well as replaceability. We're seeing a trend towards laptops becoming harder to repair but also intrinsically more reliable. No-one complains that laptop CPUs can't be replaced, for example, because CPUs are reliable enough that it's not an issue. We're well on the way to the same being true of internal flash storage. On top of that, Apple is reaping significant benefits in energy efficiency, reliability and performance from closely integrating components. That is something that benefits everyone who buys a MacBook. Hardly anyone benefits from removable RAM or SSDs.
I think some people mistakenly think that Apple could just stop 'soldering down' the RAM and SSD, but they must not realize how closely integrated everything is in the M1 MacBooks. The idea that Apple did all of this extraordinarily expensive R&D just so that they could sell a few more RAM or SSD upgrades is bordering on a conspiracy theory. As I said, there is so little demand for 16GB MacBook models that Apple doesn't even stock them in stores.
Overall, I just don't see any evidence that Apple has bad motivations here. It seems to me that you are just speculating uncharitably.
The trends are separate and not related. I have a 10+ year old laptop with replaceable parts and it still runs great without any issues. With the European Union introducing the Right to Repair bill, I expect to see a reverse of this trend soon, and more repairable electronics in the future. If Apple and the others stop their selfish and unethical lobbying against the Right to Repair movement in the US, then the American consumers will also enjoy the same benefits and not be taken for a ride.
> The idea that Apple did all of this extraordinarily expensive R&D just so that they could sell a few more RAM or SSD upgrades is bordering on a conspiracy theory.
Perhaps it does for the ignorant. But it is already recognized that firms like Apple that indulge in this already know that the profit from such unrepairable devices offset the additional expense on the R&D required to create it. Even the wikipedia page on planned obsolescence specifically points this out:
Producers that pursue this strategy believe that the additional sales revenue it creates more than offsets the additional costs of research and development, and offsets the opportunity costs of repurposing an existing product line.
And, as mentioned already, everyone already knows how Apple is actively lobbying in the US against the Right to Repair bill thus clearly proving that what you call a "conspiracy theory" is indeed a deliberate and entrenched business practice in Apple.Sure, but as failure of any given component becomes less likely, the advantages of making it replaceable cease to outweigh the disadvantages. An M1 MacBook Air with replaceable RAM and SSD would not have the same performance, battery life or form factor. 99% of Apple's customers care way more about those things than they care about upgradeability.
>But it is already recognized that firms like Apple that indulge in this already know that the profit from such unrepairable devices offset the additional expense on the R&D required to create it.
I'm baffled by this claim. If all Apple wanted was to make their laptops unupgradeable then they could just solder on generic CPU, RAM and SSD components – no R&D needed.
I try not to use the term 'conspiracy theory' lightly, but the claim that Apple's transition to the M1 architecture is motivated primarily by 'planned obsolescence' really is a conspiracy theory.
citation please.
"Worse", but the insignificantly "better" one is landfill in a few years time when the battery/storage/keyboard/anything has a fault, or even just when it needs more RAM or storage.
Most consumers are just ignorant.
It's the usual Apple stuff, "we've put so much amazing into this laptop that it doesn't matter that it's starved of RAM!". New phones have the same amount of RAM as this laptop.
You will never convince me that an SSD sprinkled with Apple magic is better than having enough RAM. NEVER.
Also you will never convince me that a non-replaceable storage is somehow necessary, or better in some way than replaceable storage, even if it shaves tens of nanometers extra thickness from the laptop. NEVER.
Apple has been doing this ridiculous stuff for decades now and its victims just keep on falling for it.
Punched in the face over and over again - from dongles, to batteries, to proprietary connectors that are abandoned the next year, to lack of headphone sockets, to overheating GPUs because of inadequate heatsinks, to unibody that isn't actually unibody and bends when you tilt the screen, to needing to replace your motherboard because your keyboard got a speck of dust in it, to screens that crack if you look at them wrong, to phones that don't work if you hold them wrong, ad nauseum. Please sir, can I have some more?
They've been punched in the face for so long that now they get a headache when they're not getting punched. It's some kind of bizarre form of masochistic Stockholm Syndrome.
THE WORST PART OF IT ALL is that the market success of this consumer-hostile garbage influences the rest of the industry and ruins other products like a cancer, so now it's super hard to find a phone with a headphone socket or replaceable battery.
Fuck this shit, FUCK APPLE, and fuck their customers for not using their wallets to demand better, and thereby encouraging and normalizing the terrible behavior of this horrible company.
I personally would have liked to see Apple bump up the base spec to 16GB. But hey, the 16GB models are available if you need them.
Why so many tech professionals and hackers still swear by this company and feign surprise everytime they get shafted by proprietary design choices is baffling and frustrating.
If they wanted you to play inside, they wouldn't use torque screws. If they wanted you to replace that, they wouldn't have glued it together. If you were supposed to take the keyboard off there wouldn't be 60+ screws (literally) holding it on.
You're supposed to be a good consumer and consume this one so you can buy a new one.
[1] https://www.theverge.com/2020/7/30/21348240/apple-right-to-r...
> If they wanted you to play inside, they wouldn't use torque screws
Torque screws are superior to Phillips heads because they are far more resistant to cam-out; which is a bigger problem than needing to buy a screwdriver kit for $10 off eBay once in your life.
I work at a repair shop currently, and can confirm this. Give me a Torq or a hex screw any day over a Phillips head.
You do have to be careful with them though, because once they do cam out, you're pretty much dead in the water, while with Phillips you can often hack your way around it.
Edit: I also agree with the rest of the argument. If you've got the budget (and I assume that if Apple is an option, you do), please consider buying something with Linux officially supported. Between Dell, Lenovo, and smaller scale setups like System76, there are plenty of options.
My biggest complaint about them is heat and performance: my MBP seems to be almost always ready to take off. Apple really did hit the sweet spot with the M1 and I don't see x86 laptops catching up anytime soon. If they release 32+GB machines, I'll be seriously tempted to get my Macs refreshed even though I know they are essentially discardable machines now.
Also, Apple is the only manufacturer I can count on offering US keyboards without any hassle. Lenovo does that with Thinkpads and with Dell you need to work to find the models that are available with that option.
I wish I could like the M1. I'm honestly really looking forward to ARM and RISC machines becoming more common, as long as there are manufacturers who make them at least somewhat reparable.
What OS would they run? Linux?
I wonder if Windows will ever run on ARM/RISC?
https://en.wikipedia.org/wiki/Windows_NT#Supported_platforms
Apple switched from torx to pentalobe screws because torx wasn't proprietary enough.
Also, they keyboard wasn't held down with 60+ screws, it was held down with rivets which is arguably worse. They could painstakingly be drilled, tapped, and replaced with screws if you were really masochistic.
What does this even mean, when you can easily buy both types of screwdrivers at any hardware store?
Reportedly Torx, and later pentalobe screws are used because of their tiny size and lower profile, a philips head at that scale (0.8mm) is instantly stripped.
Pentalobe is not an improvement over torx - torx was arguably working fine for Apple, but they decided to invent and start using a proprietary, non-standard screw anyway. The consensus at the time was that Apple did this to deliberately make it harder to get into their products.
The only reason you can find them now, 12 years later, is because third parties started to make the hardware, because it turns out getting into Apple hardware is something a lot of people eventually want or need to do.
Apple's attempt to lock you out of your own hardware didn't work, because ifixit and others spent tens of thousands of dollars on custom tooling. It was a big deal at the time, the hardware wasn't available anywhere, let alone at a hardware store.
It was an angry article by iFixit that started the whole controversy. They could very well have done it for reasons related to licensing, or machinering, or space savings, or who knows what else. The fact the MBP 17" never used them, while the smaller models did, hints towards that.
You may have taken the stories at the time at face value, but within weeks you could buy pentalobe screwdrivers and they surely did not cost 'tens of thousands of dollars' to develop - screws are cold pressed and very simple to produce.
That was a simple and cheap change with clear benefits for Apple in terms of discouraging modifications to devices they support so the cost versus benefits actually makes sense for Apple there.
Whereas to suggest they designed a whole property storage controller interface just for the purpose of discouraging user servicing doesn't make sense at all. If that was the goal why not just use off-the-shelf NVMe modified to have some kind of secret power-on key or something?
Optics is the most important factor and it’s something Apple’s marketing department does better than most companies.
It would be a poor explanation, but even when there's a good explanation, as you can see it is still dismissed as just "good optics". So how do you tell the difference between "good optics" and features that provide real benefit?
I just replaced a keyboard in a Macbook Air. It is screws around the outside, then the dozens of rivets on the inside. If you're okay with the old keyboard being destroyed, you just rip it out: the rivets just pop out, and the replacement keyboard gets put back in with screws. So it was a pain, but the drilling/tapping isn't required.
Total cost $35, plus some quality time with my kid.
When I need to use a screw thousands of times, in manufacturing processes, I buy 18-8 Philips.
I use Torx only for one specific application: for user-serviceable finished products that have previously had support problems with idiots who can’t be bothered to select the right screwdriver. Some folks simply can’t do it. So, the most problematic products end up with Torx fasteners, which problematic customers mess up by using the wrong size Torx or even hex wrenches, and my support guys have a script for these problems that goes through “you didn’t use a T-10 wrench; there is nothing more to be said and nothing to be done for it. It’s black and white. Sorry.”
Every building site I have been on almost exclusively used torque screws and every hardware store sells torque screwdrivers in every size. I wish more manufacturers would use torque screws since the heads don't show the same kind of wear.
And yes manufacturers aren't building their devices with them being repairable as primary design goal. This is understandable and there always will be a trade off. Even devices that are designed to be relatively easy to repair like Lenovo ThinkPads or HP Pro/EliteBooks have these trade-offs depending on the form factor.
Once that soldered-in SSD goes, that expensive fashion statement is just more e-waste.
I agree with the problem though. M2 is just a crappy answer to it.
The thickness thing - how thick is an M.2 SSD? 3mm? Get real.
Apple is consumer-hostile and their products are disposable, that's all there is to it.
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 36 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 108,058,416 [55.3 TB]
Data Units Written: 95,524,343 [48.9 TB]
Host Read Commands: 1,004,502,098
Host Write Commands: 558,965,971
Power Cycles: 155
Power On Hours: 644
Unsafe Shutdowns: 36 SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 37 Celsius
Available Spare: 87%
Available Spare Threshold: 2%
Percentage Used: 5%
Data Units Read: 98,665,764 [50.5 TB]
Data Units Written: 84,525,474 [43.2 TB]
Host Read Commands: 980,835,796
Host Write Commands: 811,309,011
Controller Busy Time: 0
Power Cycles: 14,955
Power On Hours: 359
Unsafe Shutdowns: 21
Media and Data Integrity Errors: 0
Error Information Log Entries: 0Or you power cycle 10 times almost every day.
Nobody should be surprised that one of the most successful proprietary technology companies on the planet sells highly proprietary technology. The 2011 Macbook Air had a 1.8" PATA ZIF hard drive.
I.e. standard, high volume drive used in iPods and other small devices
That has been the trend in the PC and electronics industry for a century though. Notice how people don't fix their TVs/Radios/etc. anymore? Heck, even in the car industry.
>Cutting off third party repair and secondary used markets.
Well, and somehow these machines get high "consumer satisfaction" ratings, and have high use periods, and retain a lot of resale value.
Something seems contradictory here...
Because those SSDs don't have Apple magic. Apple's SSDs are designed to be directly attached to the M1 CPU to provide low latency, high throughput storage -- what amounts to nonvolatile RAM, allowing an M1 Mac with 16 GiB max to vastly outperform an x86 PC with much more RAM at the same tasks.
No, really, though, it's so they can charge an arm and a leg at the Genius Bar for SSD replacements.
Because not using them gives Apple control of the exact specifications and capabilities of their M1 SSDs.
Else they're bound to be compatible with the lowest common denominator standard connectors and drive implementations.
Aside from profit ("paying more for custom parts"), this is also how they control "the whole widget", and how they can innovate (like with the M1 CPUs/SoC components) when others drag themselves with me-too standard parts.
Was the allure of a Mac ever that "you can build your own from standard parts"? If anything, it was always the opposite: it's not a PC.
The fairly common Samsung 9x0 Pro Nvme SSDs are way faster in almost all benchmarks. So I don't think that argument holds.
This really is about charging a premium for additional storage - and not due to technical reasons.
A similar configuration Intel MB12 I use in 3.5 years also had writes at the same rate.
2.5 month old, 1 TB, M1 MBA:
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 46 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 5%
Data Units Read: 315,158,527 [161 TB]
Data Units Written: 303,071,863 [155 TB]
Host Read Commands: 1,331,719,025
Host Write Commands: 1,036,195,203
Controller Busy Time: 0
Power Cycles: 167
Power On Hours: 762
Unsafe Shutdowns: 7 SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 44 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 0%
Data Units Read: 627,718 [321 GB]
Data Units Written: 1,845,489 [944 GB]
Host Read Commands: 5,302,076
Host Write Commands: 204,065,596
Controller Busy Time: 107
Power Cycles: 117
Power On Hours: 765
Unsafe Shutdowns: 0 # vm_stat
# top -o faults
just 1.5Tb for my 2m old m1 mini.. xcode/firefox > vm_stat
Mach Virtual Memory Statistics: (page size of 16384 bytes)
Pages free: 28209.
Pages active: 114788.
Pages inactive: 111624.
Pages speculative: 1301.
Pages throttled: 0.
Pages wired down: 99067.
Pages purgeable: 11340.
"Translation faults": 340573628.
Pages copy-on-write: 8586888.
Pages zero filled: 184635739.
Pages reactivated: 62859723.
Pages purged: 12373577.
File-backed pages: 88759.
Anonymous pages: 138954.
Pages stored in compressor: 645107.
Pages occupied by compressor: 127459.
Decompressions: 62433647.
Compressions: 82841473.
Pageins: 10295559.
Pageouts: 177162.
Swapins: 16692043.
Swapouts: 17670838.
> top -o faults
PID COMMAND %CPU TIME #TH #WQ #PORT MEM PURG CMPRS PGRP PPID STATE BOOSTS %CPU_ME %CPU_OTHRS UID FAULTS COW MSGSENT MSGRECV SYSBSD SYSMACH
533 WindowServer 10.5 06:21:59 21 5 2792- 876M- 209M+ 298M 533 1 sleeping *0[1] 0.17876 1.03550 88 24771383+ 131690 354813610+ 136121938+ 237020876+ 554000668+
2862 Safari 0.0 62:48.95 10 3 7051 480M 6400K 316M 2862 1 sleeping *0[37332] 0.00000 0.00000 501 13919243 76306 67003396 20901240 54405367+ 167230473
2883 com.apple.We 0.0 16:36.04 92 3 926 393M 384K 301M 2883 1 sleeping *19137[3734] 0.00000 0.00000 501 4032470 132 7204377 3215767 45641766+ 32182159
491 mds 0.0 11:00.86 5 2 422 66M 0B 52M 491 1 sleeping *0[1] 0.00000 0.00000 0 3296694 154 6396987 1450677 27494382 5594171
792 mds_stores 0.0 14:00.57 4 2 93- 72M- 16K 61M 792 1 sleeping *0[1] 0.00000 0.00000 0 2786911 1956 4619344+ 1304164+ 15524959+ 4296749+
2694 Terminal 7.6 03:17.73 8 2 311 303M- 37M+ 104M- 2694 1 sleeping *0[6352] 0.85412 0.15218 501 2034254+ 338 1151091+ 265791+ 1517195+ 269400
I'm at 1.32TB on my almost 1 month old MBA (8GB RAM/512GB DISK). Mach Virtual Memory Statistics: (page size of 16384 bytes)
Pages free: 14959.
Pages active: 405692.
Pages inactive: 374907.
Pages speculative: 28768.
Pages throttled: 0.
Pages wired down: 91521.
Pages purgeable: 3805.
"Translation faults": 24292564.
Pages copy-on-write: 729689.
Pages zero filled: 14619003.
Pages reactivated: 712889.
Pages purged: 265424.
File-backed pages: 361509.
Anonymous pages: 447858.
Pages stored in compressor: 270669.
Pages occupied by compressor: 93710.
Decompressions: 405581.
Compressions: 790223.
Pageins: 1093581.
Pageouts: 3406.
Swapins: 0.
Swapouts: 0.
> top -o faults PID COMMAND %CPU TIME #TH #WQ #PORT MEM PURG CMPRS PGRP PPID STATE BOOSTS %CPU_ME %CPU_OTHRS UID FAULTS COW MSGSENT MSGRECV SYSBSD SYSMACH CSW PAGEIN
596 firefox 1.8 25:24.36 101 3 4607 1050M- 24M 197M 596 1 sleeping *0[2679] 0.61835 0.00000 501 1801083+ 15982 30520748+ 10145476+ 37431119+ 74055473+ 25506295+ 10499
136 WindowServer 3.8 34:09.24 17 5 2570- 1069M- 3008K+ 84M 136 1 sleeping *0[1] 0.04109 0.69237 88 1554555+ 29134 88175354+ 30598736+ 69071968+ 130099954+ 19109478+ 1791
734 Textual 0.0 01:16.23 9 1 858 144M 16K 25M 734 1 sleeping 0[2051] 0.00000 0.00000 501 833293 1717 745088 111931 478143 1563730 470159 2023
2195 Xcode 0.0 01:43.32 14 1 856 278M 144K 114M 2195 1 sleeping 0[1168] 0.00000 0.00000 501 701255 3278 1626845 546420 1139890+ 1959450 732276+ 148341
2650 Simulator 0.0 01:05.27 4 2 267 27M 0B 8976K 2650 1 sleeping *0[1402] 0.00000 0.00769 501 695662+ 211 755586+ 680393+ 1078007+ 2178634+ 1065718+ 134
539 Terminal 0.6 01:01.28 8 2 304 107M 25M 16M 539 1 sleeping *0[1375+] 0.06887 0.02264 501 582200+ 463 520635+ 71597+ 365523+ 1208051+ 360370+ 1522
2209 SourceKitSer 0.0 00:25.22 2 1 21 714M 0B 468M 2209 1 sleeping 0[672] 0.00000 0.00000 501 473966 51040 3676 1103 1047453 5748 17114 12740
653 Microsoft Re 1.6 13:51.17 33 7 462 536M 12M 148M 653 1 sleeping *0[845] 0.00000 0.00000 501 454751 21517 9976456+ 1770226+ 11942684+ 47364219+ 15135688+ 82
602 plugin-conta 0.0 01:01.70 39 1 278 362M 0B 87M 596 596 sleeping *1[3] 0.00000 0.00000 501 407089 2481 32035 12156 2744155 110109 996847 155
3576 GarageBand 2.7 09:19.30 23 2 822 1088M 16K 664M 3576 1 sleeping *0[288] 0.01295 0.00000 501 266176 2365 7887976+ 76435 9436303+ 19319436+ 18860820+ 930
292 mds_stores 0.2 01:18.32 5 3 95 24M+ 16K 9056K 292 1 sleeping *0[1] 0.00000 0.17381 0 252741+ 93 158368+ 58900+ 1418145+ 178062+ 301682+ 42331
2305 lldb-rpc-ser 0.0 00:18.56 4 1 62 1049M 0B 201M 2305 2195 sleeping \*0[3] 0.00000 0.00000 501 213604 1380 575628 287827 710177 307114 244010 32467
no swap at all.. but i don't use sleep mode for my system, uptime ~10h. and no rosetta apps too. 16Gb/500Gb M1 Mac Mini.looks like Safari and WindowsServer use swap all the time. try to shutdown at least 1 per day - maybe it will help.
3.5 years old Samsung 970 evo 500GB
SMART/Health Information (NVMe Log 0x02) Critical Warning: 0x00 Temperature: 28 Celsius Available Spare: 100% Available Spare Threshold: 10% Percentage Used: 0% Data Units Read: 9,208,241 [4.71 TB] Data Units Written: 21,345,634 [10.9 TB] Host Read Commands: 132,245,782 Host Write Commands: 346,141,507 Controller Busy Time: 924 Power Cycles: 312 Power On Hours: 2,453 Unsafe Shutdowns: 114
There must be a lot of swapping happening to make that work.
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 36 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 1%
Data Units Read: 56 263 143 [28,8 TB]
Data Units Written: 36 077 380 [18,4 TB]
Host Read Commands: 1 252 403 456
Host Write Commands: 1 018 672 820
Controller Busy Time: 15 360
Power Cycles: 234
Power On Hours: 10 255
Unsafe Shutdowns: 47
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Your values are indeed insane.That's insane, I don't trust it though:
155 TB / (75 days *24*60*60) * 2**20 = ~25 MB / s
If we are more reasonable and say it's running for 12 hours out of the day then that works out at a continuous 50MB/s of writes.For comparison, My daily Linux laptop (XPS 13, 512GB Samsung NVMe SSD) has a total of 3.7 TB of writes over 3 years, this is my work dev and home laptop, it's in constant use (although no video editing):
3.7 TB / (1095 days *24*60*60) * 2**20 = 0.041 MB / s
There are three orders of magnitude difference there. I can only think of three explanations: 1. the SMART reporting is wrong, 2. MacOS or M1 SSD controllers have serious write amplification issues, or 3. you are actually doing something that does need serious write throughput like lots of video editing (your stat's aren't impossible after all).These SSDs can probably write on the order of 3000MB/s = 0.003TB/s, so you could end up with 155 TB total writes after just 155/0.003/3600 = 14 hours of RAM heavy workload.
Or maybe multiple VMs running simultaneously doing CI jobs could also do it.
I don't think simple memory errors like leaks would cause it, since that would just end up filling the disk once, but wouldn't go through writes quite as fast.
Profit.
Coz there's no standard M.2 form factor NVMe SSDs without a controller chip, and even if you can find one, there's no standard protocol to talk to it.
Recall that 3rd-party drive manufacturers are really bad at properly making Self-Encrypting Drives (lots of HN stories previously, just search for SED). It's very likely a factor for Apple to decide to implement its own SSD controller inside the T1/T2 chip on recent Intel Macs, and directly on die on Apple Silicon, so that Apple can fully control the data written to raw flash and be confident in its own implementation of encryption.
Charging a premium for more capacity is a standard Apple practice anyway, and the fact that such security-focused approach makes it unavoidable is a side-effect.
It looks like they want their devices to become obsolete sooner which seems to be a good business idea but there is a risk of upsetting many customers. Time will tell.
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 56 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 2%
Data Units Read: 153,706,243 [78.6 TB]
Data Units Written: 133,607,337 [68.4 TB]
Host Read Commands: 2,004,724,611
Host Write Commands: 380,685,816
Controller Busy Time: 0
Power Cycles: 178
Power On Hours: 358Your reads are also low in ratio to your write.
Are you swapping? This almost looks like pages swapping in and out of memory.
Because if they did that, users would be able to replace them.
Critical Warning: 0x00
Temperature: 37 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 42%
Data Units Read: 892,035,478 [456 TB]
Data Units Written: 786,976,871 [402 TB]
Host Read Commands: 4,989,739,415
Host Write Commands: 2,554,081,641
Controller Busy Time: 0
Power Cycles: 137
Power On Hours: 2,132
Unsafe Shutdowns: 70
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
And a 6 month old Intel i3 MacBook Air 256Gb Critical Warning: 0x00
Temperature: 48 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 1%
Data Units Read: 59,113,734 [30.2 TB]
Data Units Written: 47,319,687 [24.2 TB]
Host Read Commands: 596,571,150
Host Write Commands: 318,913,173
Controller Busy Time: 0
Power Cycles: 93
Power On Hours: 384
Unsafe Shutdowns: 21
Media and Data Integrity Errors: 0
Error Information Log Entries: 0 PM951 NVMe SAMSUNG 512GB
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 52 Celsius
Available Spare: 100%
Available Spare Threshold: 50%
Percentage Used: 4%
Data Units Read: 30,314,686 [15.5 TB]
Data Units Written: 35,402,028 [18.1 TB]
Host Read Commands: 601,326,085
Host Write Commands: 793,617,758
Controller Busy Time: 17,248
Power Cycles: 3,897
Power On Hours: 9,506
Unsafe Shutdowns: 343
Media and Data Integrity Errors: 0
Error Information Log Entries: 5,351
This is from my daily driver 2016 Dell XPS13 9350.Used for years with rolling-release linux + windows for gaming. multiple reinstall of every OS and since a year, hackintosh.
Why "speculating"? Couldn't they get someone with a 256GB drive to ask them?
The premise of the comment is that we don't have enough data.
Literally the entire thread appears to be "people who can't do maths correctly, misinterpreting a third-party tool which may or may not be accurately reporting the information in the first place, running around like their hair is on fire."
> The first line of the smartctl output everyone's bandying about says that a total of 1% of the drive's capacity has been used, which means that in about 16.5 years (2 months * 99 / 12) their drive will go readonly.
Problem is that my SSD end up 3% dead two months after I bought M1 and after month of daily browsing / Netflix. So that news got me really worried about what gonna happen if I actually move my files to that laptop, connect it to DropBox and and gonna compile C++ on it and might be do some Java web development. What if I end up with 5% capacity loss a month?
https://www.dell.com/support/kbdoc/en-us/000137999/hard-driv...
The controllers take care of this. But an SSD that has gone read-only, assuming it can in fact go read-only, is an SSD that will quickly lose all its data.
> (4) that they are directly comparable to non-M1 hardware without further processing
> (5) that they do not increment when Time Machine or other filesystem snapshots occur
> (6) that they do not increment when APFS copy-on-writes occur
> (7) that they do not include the total byte size of sparsely-modified files
smartmonctl is a tool that inspects the drive's built-in statistics about physical writes. If it shows significant jumps from snapshots, copy-on-write, and sparse files, it's because those feature aren't working as designed in minimizing physical writes.
I also find it unlikely that a bug in smartmonctl or IOKit would show incorrect but plausible-looking values. More likely in the SSD's firmware. But I'm not getting alarmed just yet. (I also don't own an M1 Mac, so that's easy for me to say.)
And cellphone reception bars accurately tell you signal strength on Apple product https://mspoweruser.com/apple-admits-to-the-iphone-lying-for...
What really matters is the number of write cycles drive performed, not some imaginary dumbed down single number "Percentage Used" indicator.
> their drive will go readonly.
Cn you point me to a drive manufacturer/model which reliably goes into READ ONLY mode after encountering a defect/exceeding wear limit? Hint: Even most expensive Intel server drives will silently die on you despite claiming read only fallback.
If it is true and M1 computers start bricking in two years time, which I find unlikely, then these people can take their computers to be fixed, if that doesn't happen, a company can't sell something doesn't work, so I would take it to small claims and exercise my contractual right for the goods supplied to be fit for purpose.
You are spot on with your 1% statement (which could be as little as half that, due to rounding). The percentage used is base on the figures set by the manufacturer. It is the one used in drive warranties. Also - worth pointing out that it doesnt mean the drives stop taking writes at 100%. This counter actually goes up to 255 (per spec), where 255 means 255+. Its literally just for life "expectancy".
Some people saying to ignore that and to look at TBW. They simply dont know what they are talking about! No discussion around the nand type on these drives. Is it SLC, MLC, TLC, QLC? or is it one if the hybrid modes, such as pSLC, or iTLC which act like the higher categories? This can mean the difference between <1k and >100k+ P/E cycles.
We simply dont know what the OS is doing. I know that I can have WAY more applications open (and remaining responsive) on my 8GB M1, than i could my 16GB i7. It doesnt feel like traditional swap - so maybe its not. Maybe its way more aggressive, suspending entire applications to disk in the background - taking advantage of the massive bandwidth to make the UX better at the cost of drive writes. We simply dont know.
From following the original thread, the vast majority of people reporting 1% usage since launch. There are a handful with higher usage than that. We dont know what these people are doing on those machines, but its evident from the figures that that the writes generally scale to the amount of ram on the machine. 8GB machines generally seem to be a lot less usage than 16GB. Maybe these people with HUGE amounts of writes are running a memory hog like chrome, which consumes all available ram on the machine, and which is paging when they background it. Some people reporting 8hr daily usage since launch with 200 drive power on hours (drive hours arent same as uptime, as drives can be suspended for power saving), others reporting 800 for same "uptime". Clearly it is due to the workload.
EITHER WAY, the "percentage used" is definitely the figure to go on, because only the manufacturer knows exactly what NAND types they are using (unless someone wants to enlighten us?) as well as the wear levelling algorithms on the controller.
This tactic of suspending unused tabs has MASSIVELY reduced by browser memory usage. Originally with "The Great Suspender" then built into FF natively when I switched to that. This should be used everywhere.
It's seriously game changer for some like me who keeps open 100 tabs.
It depends on your workflow, but I don't use an extension for this. I occasionally just quit and restart it; takes less than five seconds.
Clicking on the tab will load them.
Numbers do not mean anything without context.
It would be really interesting to understand what applications folks with both higher and lower numbers use daily. And what their developer habits are. Do they use a specific browser or a specific toolchain?
But ultimately, someone should probably write a little app or daemon that can just keep an eye on what specific processes are doing disk i/o. I think if people ran that for a while and then posted _that_ output, there would probably be some better answers.
CPU: M1
Model: MacBook Air
Age: 1 month
RAM: 16GB
SSD: 512GB
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: 3,463,221 [1.77 TB]
Data Units Written: 1,571,934 [804 GB]
Host Read Commands: 51,945,085
Host Write Commands: 23,518,851
Controller Busy Time: 0
Power Cycles: 83
Power On Hours: 18
Unsafe Shutdowns: 3
Media and Data Integrity Errors: 0
Error Information Log Entries: 0 SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 38 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 7%
Data Units Read: 82,062,737 [42.0 TB]
Data Units Written: 81,415,281 [41.6 TB]
Host Read Commands: 539,567,311
Host Write Commands: 561,934,808
Controller Busy Time: 3,863
Power Cycles: 3,059
Power On Hours: 2,705=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 33 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 10%
Data Units Read: 546,457,001 [279 TB]
Data Units Written: 510,545,911 [261 TB]
Host Read Commands: 3,130,642,888
Host Write Commands: 1,491,509,201
Controller Busy Time: 0
Power Cycles: 118
Power On Hours: 930
Unsafe Shutdowns: 18
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
"While we're looking into the reports, know that the SMART data being reported to the third-party utility is incorrect, as it pertains to wear on our SSDs" said an AppleInsider source within Apple corporate not authorized to speak on behalf of the company. The source refused to elaborate any further on the matter when pressed for specifics.
https://appleinsider.com/articles/21/02/23/questions-raised-...
Percentage Used: 3%
Data Units Read: 47,004,809 [24.0 TB]
Data Units Written: 47,469,528 [24.3 TB]
Host Read Commands: 153,293,725
Host Write Commands: 218,787,006
It's been in-use for two months only and I haven't even compiled anythig on it and all my usage was: light gaming in few 2D games, Firefox and some films.UPD: it's 256GB SSD model.
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 41 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 22%
Data Units Read: 621,054,721 [317 TB]
Data Units Written: 483,003,547 [247 TB]
Host Read Commands: 9,028,855,382
Host Write Commands: 3,924,827,022
Controller Busy Time: 16,789
Power Cycles: 8,373
Power On Hours: 6,828
Unsafe Shutdowns: 375
Media and Data Integrity Errors: 0
Error Information Log Entries: 271 smartctl 7.2 2020-12-30 r5155 [Darwin 20.4.0 x86_64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Number: APPLE SSD AP8192N
Serial Number: XXXXXXXXXXXXX
Firmware Version: 1161.100
PCI Vendor/Subsystem ID: 0x106b
IEEE OUI Identifier: 0x000000
Controller ID: 0
NVMe Version: <1.2
Number of Namespaces: 1
Local Time is: Tue Feb 23 17:01:28 2021 PST
Firmware Updates (0x02): 1 Slot
Optional Admin Commands (0x0004): Frmw_DL
Optional NVM Commands (0x0004): DS_Mngmt
Maximum Data Transfer Size: 256 Pages
Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 0.00W - - 0 0 0 0 0 0
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 37 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 53,827,033 [27.5 TB]
Data Units Written: 37,342,497 [19.1 TB]
Host Read Commands: 704,072,000
Host Write Commands: 669,901,451
Controller Busy Time: 0
Power Cycles: 234
Power On Hours: 528
Unsafe Shutdowns: 74
Media and Data Integrity Errors: 0
Error Information Log Entries: 0 SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 30 Celsius
Available Spare: 88%
Available Spare Threshold: 2%
Percentage Used: 24%
Data Units Read: 356,923,637 [182 TB]
Data Units Written: 354,603,847 [181 TB]
Host Read Commands: 2,817,724,668
Host Write Commands: 2,270,199,931
Controller Busy Time: 0
Power Cycles: 21,443
Power On Hours: 996
Unsafe Shutdowns: 21
Media and Data Integrity Errors: 0
Error Information Log Entries: 0All I can hope for is that it's some kind of bug in SMART or might be Apple gonna fix it soon. Since I use my Kubuntu desktop with Samsung 850 PRO 256GB way more heavily and I barely got to 30TBW in like 4 years.
checked my 2015 15" that i've been using non stop for over 3 years and it's at 96tb which is 2.6 a month.
However, it doesn’t seem that torrents are a common factor in user accounts, and 30GiB in torrents would not account for that much write amplification, so carry on!
Percentage Used: 0%
Data Units Read: 2,219,368 [1.13 TB]
Data Units Written: 2,141,099 [1.09 TB]
Host Read Commands: 28,719,296
Host Write Commands: 26,061,193
Controller Busy Time: 0
Power Cycles: 179
Power On Hours: 14
Not sure what to make of the power cycles stat either. It's mostly plugged in at my desk.I wonder if that's a battery charge cycle metric. Anyone know?
Option B: The tool is interpreting the SMART data incorrectly, or the drive isn't reporting it correctly.
I mean I don't know which is correct, but it seems odd that in 20 days of ownership, the drive has been awake for only 14 hours, but been writing solidly at the rate of a gig a minute for the whole time.
That said, it does highlight how bad it is that computers now come with the bit that is most likely to wear out being a non-replaceable part.
Once the memory is full, it starts swapping a lot and then things go bad.
For the record, here are the numbers from this box: 900GB written in 20 power-on hours, on a 256GB driver.
Critical Warning: 0x00 Temperature: 26 Celsius Available Spare: 100% Available Spare Threshold: 99% Percentage Used: 0% Data Units Read: 15,019,377 [7.68 TB] Data Units Written: 1,759,297 [900 GB] Host Read Commands: 101,021,092 Host Write Commands: 14,010,727 Controller Busy Time: 0 Power Cycles: 75 Power On Hours: 20
I haven't seen this. The rosetta daemon, oahd, is using only 1.3MB on my system (8GB M1 MacBook Air) and I have several large translated apps running. If it's stuck using lots of memory, I guess that's probably a bug.
Some apps (CIv6) will drain the battery completely when plugged in.
No idea if this is related
[edit] Here's my data:
Percentage Used: 2%
Data Units Read: 51,571,905 [26,4 TB]
Data Units Written: 32,365,209 [16,5 TB]
Host Read Commands: 1,291,777,925
Host Write Commands: 720,050,493
I got my MacBook (15", 16 GB RAM, 512 GB SSD) in July 2018. brew install smartmontools && sudo smartctl --all /dev/disk0> sudo port install smartmontools && sudo smartctl --all /dev/disk0
Percentage Used: 3%
Data Units Read: 57,377,073 [29.3 TB]
Data Units Written: 77,652,525 [39.7 TB]
Host Read Commands: 1,297,472,434
Host Write Commands: 1,855,797,459
I have 10x your host r/w commands. I wonder if the size of the SSD's blocks on these new MBP are very large so you get large physical writes for small OS writes? Or maybe the controller is bad at coalescing writes?```
=== START OF SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02) Critical Warning: 0x00 Temperature: 42 Celsius Available Spare: 100% Available Spare Threshold: 99% Percentage Used: 23% Data Units Read: 439,149,863 [224 TB] Data Units Written: 407,143,345 [208 TB] Host Read Commands: 2,930,228,690 Host Write Commands: 1,777,317,283 Controller Busy Time: 0 Power Cycles: 103 Power On Hours: 1,691 Unsafe Shutdowns: 49 Media and Data Integrity Errors: 0 Error Information Log Entries: 0 ```
Ouch.
Percentage Used: 0%
Data Units Read: 28,383,716 [14.5 TB]
Data Units Written: 26,487,969 [13.5 TB]
Host Read Commands: 137,200,722
Host Write Commands: 155,386,158
VSCode, compiling, generally programming work load, with heavy multi tasking. I would say ~1 month old.
Percentage Used: 3%
Data Units Read: 168,154,606 [86.0 TB]
Data Units Written: 169,999,872 [87.0 TB]
Host Read Commands: 1,077,848,202
Host Write Commands: 743,848,335
this is a secondary dev machine, so while it's been on and idle for almost 500 hours, it's only had a week or two of "active work".Could something be wrong with smartctl?
Percentage Used: 0%
Data Units Read: 596,588 [305 GB]
Data Units Written: 404,196 [206 GB]
Host Read Commands: 8,532,827
Host Write Commands: 3,851,891 SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 24 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 3,019,145 [1.54 TB]
Data Units Written: 3,392,635 [1.73 TB]
Host Read Commands: 55,076,557
Host Write Commands: 29,421,973
Controller Busy Time: 0
Power Cycles: 100
Power On Hours: 28
Unsafe Shutdowns: 16
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Doesn't seem too bad. SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 32 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 16,603,470 [8.50 TB]
Data Units Written: 15,747,066 [8.06 TB]
Host Read Commands: 95,905,593
Host Write Commands: 62,087,286
Controller Busy Time: 0
Power Cycles: 93
Power On Hours: 52
Unsafe Shutdowns: 7
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
FWIW I've installed each incremental MacOS update the day it came out. SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 32 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 8,413,842 [4.30 TB]
Data Units Written: 8,138,306 [4.16 TB]
Host Read Commands: 187,292,832
Host Write Commands: 154,212,201
Controller Busy Time: 0
Power Cycles: 105
Power On Hours: 171 SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 34 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 2%
Data Units Read: 117,513,026 [60.1 TB]
Data Units Written: 110,686,292 [56.6 TB]
Host Read Commands: 506,322,545
Host Write Commands: 351,505,939
Controller Busy Time: 0
Power Cycles: 389
Power On Hours: 388
Unsafe Shutdowns: 40
Media and Data Integrity Errors: 0
Error Information Log Entries: 0 Percentage Used: 0%
Data Units Read: 7,920,747 [4.05 TB]
Data Units Written: 1,490,848 [763 GB]
Host Read Commands: 90,988,727
Host Write Commands: 34,766,350
Usage: 3 months~ wrote an ts web app in development over about 6-8 weeks and then 4 weeks of regular gaming (Steam:EU4). Development was all in terminal (vim + npm).Model: Air 7C16GB/256GB
data point
Percentage Used: 0%
Data Units Read: 1,815,191 [929 GB]
Data Units Written: 1,854,253 [949 GB]
Host Read Commands: 31,584,364
Host Write Commands: 25,360,962
data point verbose 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: 1,815,191 [929 GB]
Data Units Written: 1,854,253 [949 GB]
Host Read Commands: 31,584,364
Host Write Commands: 25,360,962
Controller Busy Time: 0
Power Cycles: 102
Power On Hours: 33
Unsafe Shutdowns: 7
Media and Data Integrity Errors: 0
Error Information Log Entries: 0 SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 26 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 21,290,808 [10.9 TB]
Data Units Written: 17,018,375 [8.71 TB]
Host Read Commands: 128,112,411
Host Write Commands: 89,074,700
Controller Busy Time: 0
Power Cycles: 174
Power On Hours: 80
Unsafe Shutdowns: 6
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
8GB/256GB three months old. Mostly used to write code using VS Code and browsing with Chrome. I've also compiled a lot of Haskell code.Also
Read 1 entries from Error Information Log failed: GetLogPage failed: system=0x38, sub=0x0, code=745
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 29 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 2%
Data Units Read: 18,188,656 [9.31 TB]
Data Units Written: 23,776,092 [12.1 TB]
Percentage Used: 5%
Data Units Read: 198,797,763 [101 TB]
Data Units Written: 151,801,865 [77.7 TB]
Host Read Commands: 4,494,028,451
Host Write Commands: 1,965,182,650
A new system should not have done that much work already in that short a time.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: 8,424,532 [4.31 TB] Data Units Written: 5,496,149 [2.81 TB] Host Read Commands: 122,463,637 Host Write Commands: 59,624,967 Controller Busy Time: 0 Power Cycles: 200 Power On Hours: 60 Unsafe Shutdowns: 6 Media and Data Integrity Errors: 0 Error Information Log Entries: 0
I mostly stick to Apple applications because they seem to get much better performance, i.e. Safari instead of Firefox. Other applications that I use are Emacs, discord, mail, calendar.
carbonx ~ sudo nvme smart-log /dev/nvme0n1
Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
critical_warning : 0
temperature : 29 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 0%
endurance group critical warning summary: 0
data_units_read : 12,862,645
data_units_written : 16,193,903
host_read_commands : 124,284,317
host_write_commands : 218,295,105
controller_busy_time : 567
power_cycles : 3,078
power_on_hours : 558
unsafe_shutdowns : 209
media_errors : 0
So around 8.2 TB written in 2.5 years of daily use. And I have had syncthing running on it past few months to sync some git repos as an experiment. (And I run a rolling release distro so lots of updates.) In comparison the M1 data posted here looks out of whack.I generally use bpftrace to find if anything keeps writing to my SSD - for the most part I don't find any misbehaving programs on modern Linux distros. Assuming dtrace still works on M1 Macs you might be able to find what is writing to the disk.
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 33 Celsius
Available Spare: 100%
Available Spare Threshold: 50%
Percentage Used: 0%
Data Units Read: 631,319 [323 GB]
Data Units Written: 1,157,883 [592 GB]
Host Read Commands: 4,650,820
Host Write Commands: 7,329,774
Controller Busy Time: 16
Power Cycles: 37
Power On Hours: 45
Unsafe Shutdowns: 15
Media and Data Integrity Errors: 0
Error Information Log Entries: 1
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
I do Linux kernel dev and have done quite a few kernel compiles at this point (using Ubuntu's full config) as well as general browsing and some Docker workloads and Spotify... Judging by 'Power On Hours' combined with 'Data Units Written', looks like there's a bug to me.As a side, I don't know why 'Available Spare Threshold' is 50%, and the 1 'Error Information Log Entries' appears to be successful results of some test.
Does anyone know why power on hours seem to be under reported so often?
If you run ZFS, you can set sync=disabled for your filesystems. This will disable fsync.
Unlike most (all?) other filesystems, that's actually safe. ZFS doesn't reorder writes between transaction groups, so after a crash you'll get a consistent state from however many minutes ago.
(However, txgs have a time limit of 5 seconds by default. You also need to increase that.)
Here's a 512GB WD Black from my home lab server. It runs ~10 super light usage VMs with Docker stacks that include 2 GitLab instances, 2 GitLab runners, 3 Nextcloud instances, 3 Redmine instances, 1 Gitea instance, 2 Drone runners, 1 Minio instance, 1 Nexus instance, 1 Emby instance (w/transcoding), and various reverse proxies, etc..
The write endurance is supposed to be 300TBW, so it should really be over 20% used but says 0%.
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 38 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 0%
Data Units Read: 95,066,245 [48.6 TB]
Data Units Written: 135,910,315 [69.5 TB]
Host Read Commands: 972,466,473
Host Write Commands: 2,504,003,547
Power On Hours: 17,383
Error Information (NVMe Log 0x01, max 256 entries)
No Errors Logged
Compare it to a 500MB Crucial MX500 under the same load which is supposed to have 180TBW: Model Family: Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs
Device Model: CT500MX500SSD1
Serial Number:
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 11225
173 Ave_Block-Erase_Count 0x0032 032 032 000 Old_age Always - 1032
194 Temperature_Celsius 0x0022 067 044 000 Old_age Always - 33 (Min/Max 0/56)
202 Percent_Lifetime_Remain 0x0030 032 032 001 Old_age Offline - 68
246 Total_Host_Sector_Write 0x0032 100 100 000 Old_age Always - 59166051308
That's 68% used after ~30TBW (59,166,051,308 sectors*512 = 30,293,018,269,696 bytes).What I've learned from trying to diagnose those MX500s is that TBW doesn't really matter all that much. It's the P/E cycles that really count. For example, the MX500s are rated for 1500 erase cycles (#173 above) IIRC.
I've also become skeptical of many SMART implementations. I know the PoH on the Crucials is incorrect because when they were new they were reporting 45 days of PoH on a system with 76 days of uptime. So if the manufacturers can't get something as simple as PoH right, how can anything be trusted?
OTOH the number of power cycles they report seem to be too high, at 45 and 2332 respectively. Maybe that's related?
Then there's always the possibility of wrong interpretation of the numbers as every OEM has possibly different implementation.
In Apple's case it's more likely they have the right implementation as they make both the software and the hardware. There could still be bugs..
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 35 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 25%
Data Units Read: 22,242,132 [11.3 TB]
Data Units Written: 74,693,212 [38.2 TB]
Host Read Commands: 540,582,518
Host Write Commands: 1,857,635,922
Controller Busy Time: 5,131
Power Cycles: 884
Power On Hours: 3,497
Unsafe Shutdowns: 261
Media and Data Integrity Errors: 0
Error Information Log Entries: 882
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Temperature Sensor 1: 35 Celsius
Temperature Sensor 2: 37 CelsiusBut at the same time. 8GB of ram isn't a lot.
Especially when multi tasking.
I know there was a lot of talk about Apple's directly soldered RAM being super efficient.
But if you've got 30 tabs open, playing music and using Photoshop. No amount of optimisation is going to prevent swap usage.
Still though. Terrabytes of usage must be a bug.
[1] Such as the image on the Wikipedia article https://en.wikipedia.org/wiki/Apple_M1
And besides, memes persist much more readily anywhere where tribalism comes into play e.g. Politics, Apple vs. [Insert your OS here], Any Tesla thread etc.
A chip can contain multiple dies.
Usually chips were just discrete packages basically a die that is packaged for integration onto a PCB.
A die is just the bare silicon that has an IC etched into it.
With interposers and modern multi chip packages things are a bit more complicated.
Since the RAM dies are packages they themselves can be defined as chips too while the CPU needs to be integrated to the substrate first.
At this point it’s a question is the CPU+RAM combo can be defined as a chip on its own or is it a hybrid/compound package I would go with the latter.
If the memory and cpu dies / chips would’ve been stacked like say the raspberry pie one I would call it RAM on chip tho.
Maybe it's a good sign someone is half interested and open to learning more.
There's really no meme to trace here; just a popular misunderstanding of semiconductor terminology.
[1] dice?
I'm mildly annoyed by the tendency of some people to be critical while they're correcting (teaching!) someone.
Given what they've done with the M1, I highly suspect Apple will do something like that for their higher end machines.
[0] https://www.anandtech.com/show/16148/amd-ryzen-5000-and-zen-...
Apple themselves are responsible for it, all their promotional material for the chip have included unified memory right alongside all the on-die modules
https://www.apple.com/v/mac/m1/a/images/overview/chip_memory...
In the photo below, you can see the inside of the BGA flip-chip showing the M1 SoC itself alongside two Hynix LPDDR4 devices:
I'll up vote you until someone opens the chip package and replaces or upgrades the ram.
I'd watch that.
You are not wrong in 2021 but this comment took me back to late 1900s-early 2000s when a few hundred MB of RAM was premium :). How far have we come!!
Hahahahahahahahahaha....
https://www.computerworld.com/article/2534312/the--640k--quo...
I wouldn’t advise anyone to get 128GB (or more) “just in case”. If they have a special need case, then, sure , otherwise no.
Its pretty disappointing how little advancement has been made in RAM in recent years. It seems like everything should come with at least 16GB now with 32GB being readily available, but I guess noone is working on the cost of desktop/laptop memory.
2015, MBP13, 8GB ram I bought for $1900.
2018, MBP13, 16GB, $2200.
2020, MBP13, 32GB, $2500.
Pretty sad improvements for 9 years. But the form factor did improve...
Running Linux on it. Native apps are okay. Firefox is okay unless I over do it with tabs. Forget about electron apps.
So it sounds like Apple has made very little progress in arena.
You can still get by on 8GB if you're a lighter user. It's unpleasant for me, but my grandma literally only uses a browser so it works for her.
Patting yourself on the back for gratuitously wasting resources really, really grates on me.
Sure, I can buy a car that gets 10 miles per gallon for my weekly groceries shopping. I can even afford it, it won't break my bank.
But actually being proud of it? Like it's some sort of sign of social and technological progress?
Whew.
That said, very little of most RAM usage is the actual instructions running. It's mostly data.
The tricky bit here is actually the SIMD instructions since they can be very long and compiler will often go absolutely bonkers on fairly short code.
True, my 3 year old phone has 8GB ram. On a laptop, 8GB is just anemic.
iOS is obviously a lot stricter on background activity than Android but manages to work great on 3-6GB.
I can comfortably do development work on my laptop with 16GB, and until last year was managing mostly okay on a 5 year-old machine with 8GB.
When you factor in the sort of stuff people actually do on a phone, surely 12-16GB is a massive waste? You can make the argument that it will become more useful as the phone ages, but by that point it will have probably stopped receiving software updates.
Things like having a lot of tabs open. Messaging applications, music streaming etc.
It's not required. But instant switching between apps is a nice user experience.
In the same way a 120Hz monitor is a nicer experience but 60Hz is perfectly reasonable.
I don't think it's fair to compare iOS to Android. Android is quite a bit heaver.
I remember reading a quote from someone at Nvidia saying that hardware is much easier to change than software.
And at the end of the day, as consumers we should demand more for our money. Phone's aren't getting cheaper.
Well, whoops. I guess there are some side effects.
Rules of software engineering and engineering in general: you can't break Einstein. RAM is generally slow to begin with, but the disk is slower. RAM should be plenty to be used as disk cache, not vice versa. (edit: omitted the last sentence)
However those numbers seem extreme probably some bad tuning or just neglecting to account for the full cost of writing to disk.
If there is a need for swap, install more RAM.
> Terrabytes of usage must be a bug.
Garbage collection setups with relatively large heaps are extra horrid when it comes to memory pattern usage while running full GC... and respectively swap.
Swap occupancy and swap activity are not the same. The former is fine, the latter should be kept small.
You should be able to that in software anyways - instead of loading to memory entirely, all it has to do is memory map the file dump.
About the need to freeze a process (group). I don't quite see how that's useful on a server. On a desktop machine I have never run into such a case where closing the application would not suffice. Is there an example?
Last - using the swap pretty much means no disk cache.
Should, perhaps. But in practice I have had analyzers gobble up more memory than available.
> About the need to freeze a process (group). I don't quite see how that's useful on a server. On a desktop machine I have never run into such a case where closing the application would not suffice. Is there an example?
Long-running renderjob, preempted by a higher-priority one. Technically they're resumable so we could stop them and resume the other one later from a snapshot file but that isn't implemented in the current workers. So as long as the machine has enough ram+swap it's easier to freeze the current job and start the higher-priority one.
> Last - using the swap pretty much means no disk cache.
I don't know all the tunables of the swap subsystem well enough but I have seen swap being used before running out of physical ram. I assume some IO displaced inactive applications.
I can run 128GB, if need be. But yeah if the software is pitiful and poorly implemented. Running on swap is an one-time-option I guess.
>so we could stop them and resume the other one later from a snapshot file but that isn't implemented in the current workers.
Indeed, this seems like a poor implementation, lacking 'save' function. I have not run into similar cases.
Actually yes it is.
Back in 2016, a Spotify bug resulted in writes of approximately 700GB/day [1]. No SSD died, judging from the lack of a class action lawsuit. And at least for my MBP SSD, I can tell you it is still doing very much alright, despite being thrashed for anywhere between a few weeks to a few months.
Having said that, do apply any temporary fix. Even if the effect will probably be negligible, it's still unnecessary wear.
[1] https://www.extremetech.com/computing/239268-spotify-may-kil...
Any app/program can write to the disk. Why this is being framed as a hardware/OS error?
> The engineer explains problem relates to a "regression in the com.apple.security.sandbox kext (or one of its related components)" in macOS 10.15.6. As part of the investigation, it was discovered com.apple.security.sandbox was allocating millions of blocks of memory containing just the text "/dev" and no other data.
I think it wouldn't get a lot of attention if the ssd could be replaced.
People understand apple can replace them. Nobody wants to pay apple to replace an ssd.
It reeks of shade to intentionally grenade the hardware just to get more door traffic at retail locations.
Apple already forces owners of "vintage" MBPs to come in to a store for repair (or repair-related warranty) work, even if the failing component is identical to that of a non-vintage model. You'd think they would prefer to send those devices in to a repair depot with lots of inventory for older parts, but now that you mention it I guess they figured out that foot traffic converts into sales at a non-zero rate.
“Attempting to upsell” doesn’t pass the laugh test. And it’s incredibly crass and irresponsible of you to toss around words like “intentionally grenade the hardware” without the slightest hint of evidence.
You are engaging in projection.
> “Attempting to upsell” doesn’t pass the laugh test.
Then there should be no reason to force the user to come in to a retail shop to get approved repairs on their machines then, and apple can save lots of money by going to mail-in repairs.
> And it’s incredibly crass and irresponsible of you to toss around words like “intentionally grenade the hardware” without the slightest hint of evidence.
There's hundreds of examples in this thread alone.
And no, there are zero examples in this thread of any evidence that Apple has intentionally harmed its own hardware.
So you are batting 0 for 3.
Because this error closely matches the new Tesla hardware replacement (MCU mmc is not a "wear item" or not, depending on who you ask) and like that chip, the M1 also has non-replaceable parts which seem to be wearing faster than normal.
Since it's not happening to everyone (check the original twitter thread), I'm 100% sure it's third party apps writing in small 4kb chunks with O_DIRECT file opened, therefore creating write amplification effect where 4kb write becomes SSD block size write (for example 4mb), therefore one 4kb write per second, instead of being 0.3GB/day, becomes 345.6GB/day.
I could be wrong though because I don't understand the implications of O_DIRECT.
Chrome would also be unsurprising. Theyre known for their memory churn already.
Edit: for what it's worth, here's my stats from my 8GB M1 MacBook Air after ~2 months of continuous heavy usage as my main work machine:
Percentage Used: 0%
Data Units Read: 4,622,487 [2.36 TB]
Data Units Written: 2,301,067 [1.17 TB]
Which feels reasonable. So doesn't seem like it affects everyone equally.(For those not aware, Radar is the name of Apple’s internal bug filing system ;)
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 1%
Data Units Read: 53,339,111 [27.3 TB]
Data Units Written: 49,807,244 [25.5 TB] Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 3%
Data Units Read: 231,234,195 [118 TB]
Data Units Written: 182,951,675 [93.6 TB] Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 91,665,449 [46,9 TB]
Data Units Written: 88,819,714 [45,4 TB]
heavy usage, with vm and i've written to the 1tb nvme disk multiple times and needed to clean stuff to get free space (multiple times)This is me all the time. Thank you for validating it's not just me.
Available Spare: 79%
Available Spare Threshold: 2%
Percentage Used: 15%
Data Units Read: 251,550,023 [128 TB]
Data Units Written: 228,761,896 [117 TB] Percentage Used: 1%
Data Units Read: 74,899,871 [38.3 TB]
Data Units Written: 71,233,417 [36.4 TB]Also, if writes continue at the same rate then wear will increase exponentially, as the same number of writes are distributed over an increasingly smaller amount of space.
These are wearing your SSD down.
And no, they will not be combined together because most of these shitty apps have O_DIRECT flag set or call fsync() after each write(), making the OS obligated to hit SSD with 4kb write.
SSD's don't operate that way, though, a 4kb write is guaranteed to become a bigger write since SSD cell/block is usually either 512kb, or 1mb, or 2mb, or hell even 4mb. So one 4kb per second becomes 4mb per second, and that's 345.6GB/day.
Pretty scary how one shitty app can ruin your ssd so fast, huh? I saw google drive app do 50 small writes per second. That's ~2TB/day.
echo "write through" > /sys/block/sda/queue/write_cache
This lies to the OS and tells it that drive writes don't need to be fsync'd. Replace "sda" with whatever your drive in question is, naturally. Note that this is not persistent, you'll need to configure your init system to do this on boot. You can verify it's working by looking at /sys/block/sda/stat (see https://www.kernel.org/doc/html/latest/block/stat.html).Next, in /etc/fstab configure your filesystem to be mounted with "barrier=0" (note that only some filesystems support this), which will often prevent data from getting written out to the disk at all, instead getting kept in cache.
You still need the first part because the filesystem layer won't cover all possible cases--for instance, LVM thin provisioning will issue a manual flush below the filesystem layer once per second, and there's no way to remove that.
One problem I haven't managed to solve is detection--in the unlikely event things don't shut down properly (e.g. a kernel panic), how do I find this out so that I can restore from a backup (rather than having something subtely corrupted somewhere)? This is conceptually easy with some global bit in a special sector used as a mutex, but I don't know of any existing off-the-shelf solution implementing this.
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 1%
Data Units Read: 11,700,881 [5.99 TB]
Data Units Written: 38,044,983 [19.4 TB] Percentage Used: 0%
Data Units Read: 11 039 001 [5,65 TB]
Data Units Written: 8 341 136 [4,27 TB]
That would mean ~87 GB per day, every day. I have about 200 GB data on the drive; that would mean rewriting almost half of it every day.I don't use it that heavily.
For comparison, my 2015 MBP has 37 TB written. Since 2015 and about the same usage pattern.
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 9,664,566 [4.94 TB]
Data Units Written: 5,755,588 [2.94 TB]
This sounds to me like a write amplification issue caused by some software as mentioned elsewhere in the thread (first party or third party).FWIW, even as a developer who mostly stays out of the kernel, swap has long been on my mind for Linux laptops (e.g., keeping pre-SSD spinning-rust hard drives sleeping), and I pretty much always disable swap, even on desktops. Part of the rationale is, if I can't fit all the processes in (now) several gigabytes of RAM, something probably needs an OOM-euthanizing.
That might sound stupid, but it occurs often enough in practice: eg code or data structures that were only used when starting off the program in question.
An optimally coded program wouldn't benefit from this. But real world programs often do.
You could argue an optimally coded program should do this themselves, however, that is not so easy when multiple programs are running concurrently and fighting for RAM. On an 8GB machine, how much RAM should your web browser use? The answer is "it depends". If there are no other programs running, it can use all 8GB. If you are running an IDE, a chat client and a compiler in the background, it should probably be using less.
The individual programs don't have enough information to make this judgement call - and making very conservative estimates will lead to much more swapping than actually required. The operating system is in charge of allocating memory for all those programs and can effectively make the judgement of what should be swapped out or not.
Swapping out unused stuff leaves more space for the disk cache.
Pretty much any OS (linux, windows, macos) use the unallocated memory for disk cache. Disk swap also takes RAM as page descriptors.
Well, that's not true. In Linux you can have pages swapped out to disk and physical memory used for disk cache at the same time.
There doesn't seem to have been any effort by Linux developers to fix that (e.g. provide a kernel level GUI to let you pick which processes to kill when out of RAM).
There is no and will be no GUI for that, especially considering that many linux devices do not have any.
However, that does not mean there is no effort to improve the situation. The main player here is, surprisingly, Facebook. Their effort is going to be integrated into systemd in the form of systemd-oomd and Fedora 34 is going to ship it enabled out of the box (see https://fedoraproject.org/wiki/Changes/EnableSystemdOomd).
Why not? Many Linux devices don't have keyboards but it supports those perfectly well.
I hadn't heard of systemd-oomd, sounds interesting!
http://jdebp.uk./FGA/dont-throw-those-paging-files-away.html
You may want to check Activity Monitor > Disk > Kernel_Task for Disk Write. This shows how much swaps write, along with other apps you have been using since your last reboot. You can check your last reboot time in System Information > Software.
Currently Launchd wrote 50GB which I have no idea why. Corespotlightd wrote 70GB. And SafariBookMarkagent with 4GB. And Kernel_Task 4.5TB.
These numbers are over the course of 30 days.
Generally speaking Mac has been very Swap heavy for a long time. And Big Sur seems to be pushing this further as there are evidence shown this isn't seems to be specific to M1.
On Safari, if you have lots of Tabs, Clicking Tab Overview will force all Tabs to Reload. Which will write hundreds of GB of Data if you have lots of Tab, especially if they were originally sitting idle. ( i.e You close Safari and you reopen it where Tabs not focused are not loaded ).
If you have iCloud Drive, there may be some cases where you are downloading few hundreds GB of iCloud Data a day if you have certain Apps that constantly update its files. WhatsApp Backup used to ( and may still be the case ) cause this problem if you have a large WhatsApp History. WhatsApp download a 50GB copy, only to realise it has a new copy on iCloud and re-download again. Doing it many times per day.
Assuming some tweaked options, iCloud could be downloading all of your iPhone / iPad Backup to your Mac as cache. Again, if you have 100GB of Backup and that is downloaded once or twice per day. It adds up.
Disabling iCloud Drive tends to help.
Last time we had Electron Apps, or specifically Spotify making hundreds of GB per write per day due to a bug.
But as usual, Apple apologist around the world are quick to point out these are non-issues. Luckily HN still have some sanity. Hopefully this is finally enough to finally push Apple to fix it. Windows or Linux doesn't have the same write data count even when the usage pattern are roughly the same.
Even worse. In this case for the M1 Macs when the SSD dies, the Mac becomes bricked and if you have no backups then the data on the dead SSD is lost.
A typical web dev may rely on running a couple of electron apps, docker, IntelliJ and lots of chrome tabs to get their work done. Alongside everyday use looks to me that the life of this SSD is going to be shortened very quickly.
I already said this before [0] and it seems to them 'it is not an issue.' Well here we are and this thread is full of other concerned users.
There was no iCloud Drive on it, Safari not generally in use. Memory pressure wasn't extraordinarily high, but it wasn't a well specc'd machine for the current day.
My late mid 2014 MBP has the kernal_task heavy write issue. I has written over 15TB the last 61 days. The new nvme disk I installed two months ago is already at 2% wear:
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 2%
Data Units Read: 45,859,839 [23.4 TB]
Data Units Written: 44,541,716 [22.8 TB]
Host Read Commands: 296,573,912
Host Write Commands: 218,840,299
Controller Busy Time: 6,954
Power Cycles: 138
Power On Hours: 1,662
A quick Google directed me at: - Spotlight indexing packages folders (npm, pip etc). Add those to the "privacy" tab in the spotlight settings to skip indexing.
- The battery and or logic board may be failing.[0] https://linustechtips.com/topic/1306757-m1-mac-owners-are-ex...
Needless to say I'm having a little chuckle. It's a lesson for us all about blindly believing things.
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 42 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 95,824,868 [49.0 TB]
Data Units Written: 89,046,642 [45.5 TB]
Host Read Commands: 1,365,215,816
Host Write Commands: 837,815,676
Controller Busy Time: 0
Power Cycles: 145
Power On Hours: 604
Looking at iosnoop I see dropbox, google drive, backbalze, arq and other programs heavily abusing my SSD with tons of small (4kb) writes.With age of 105 days, that's 433 GB/day.
My SSD's block size is 45.5TB/89046642 which is ~512kb.
433 GB/day divided by blocksize is 9.8 hertz, meaning I've had apps write ~10 times per second on average.
This corresponds with what I'm seeing at iosnoop. Tons of third party apps open files with O_DIRECT flag or call fsync() right after each write. SQLite databases are most common culprit, since by default it flushes to disk every small insert/replace. And every sqlite database I've seen by third party app just uses defaults (none of them are using WAL, for example).
OS has to flush that to disk if O_DIRECT or fsync() is used, therefore leading to write amplification.
https://www.sqlite.org/atomiccommit.html -- Each insert gets into journal first, that's 4kb there, then index gets updated, that's another 4kb, and then it gets committed to main database, that's another 4kb. There might be more, but in what I'm observing in iosnoop it's coming as multiple of 3.
And since I'm on 512kb SSD blocks, that's 1.5MB per single insert/update.
I forced every sqlite database on my disk to be WAL and changed synchronous to NORMAL from default (FULL), and it reduced I/O activity greatly without any ill side effects in months, most likely developers of these apps aren't even aware of these tunables:
https://www.sqlite.org/pragma.html#pragma_journal_mode https://www.sqlite.org/pragma.html#pragma_synchronous
#!/usr/bin/env bash
WANTMODE=wal
for file in "$@"; do
MODE=`sqlite3 -init <(echo .timeout 10000) -batch "$file" 'PRAGMA journal_mode;'`
if [[ $MODE == $WANTMODE ]]; then continue; fi
OLDSIZE=`du -kc "$file" "$file-wal" "$file-shm" 2>/dev/null | tail -n1 | cut -f1`
echo -n "$file: "
echo "PRAGMA journal_mode=$WANTMODE;" | sqlite3 -init <(echo .timeout 10000) -batch "$file"
if [[ $? != 0 ]]; then continue; fi
NEWSIZE=`du -kc "$file" "$file-wal" "$file-shm" 2>/dev/null | tail -n1 | cut -f1`
echo "${OLDSIZE}kb -> ${NEWSIZE}kb"
doneAlso worth noting that I see my swap fluctuating from 6-8GB almost all the time (granted I have multiple browser tabs and windows, maybe like 10-30 ish ?)
Only after publication on news sites they fixed it.
Won't be surprised if the bug regressed and happened again.
I don't use Spotify (not available in my country), so I wouldn't know, but I bet half of the reports are because of some badly written third party app constantly writing in 4kb chunks with O_DIRECT or fsync() all the time.
I had to switch off Time Machine on MacbookHD (main disk) by excluding it from the Time Machine preferences, and reinstall the OS to erase the previous copies it had made, all ~400GB of it (on my 499GB disk)... As the user, I was not asked for permission to allow Time Machine to use up to 80% of available disk capacity. It was backing up so many copies of the data until I noticed I had left only 8GB of free space and I only noticed because Quicktime screen recording started crashing due to insufficient disk space. Basically, the decision by Apple is to use up to 80% of the available disk space to save copies of the data on that disk without user permission, and because it checks and reconciles the amount it's using every so often you can easily end up with 0% free capacity if you e.g. record a lot of videos in between.
I am not quite sure if this Time Machine business is directly related (though it might be due by poorly optimized rewrites, particularly if there’s outstanding hardware shenanigans with encryption on M1s). It is baffling that the disk usage appears to be a deliberate decision.
From the activity monitor: Uptime 1 day & 6 hours Kernel_task : 418 GB written - 84 GB read Microsoft edge helper: 23-4 Launchd: 19-1 Mds_stores: 9-9 Photolibraryd: 4-8
In the last 24 hours I have not touched the mini, I just switched it on yesterday to check something online and switched off the monitor.
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 9,670,166 [4.95 TB]
Data Units Written: 6,898,714 [3.53 TB]
Host Read Commands: 75,916,955
Host Write Commands: 41,914,954
Power Cycles: 80
Fwiw, my swap tends to hover around 2.5-3gb lately Available Spare: 79%
Available Spare Threshold: 2%
Percentage Used: 15%
Data Units Read: 251,550,023 [128 TB]
Data Units Written: 228,761,896 [117 TB]
But this is after 3.5 years of use. Percentage Used: 2%
Data Units Read: 84,461,830 [43.2 TB]
Data Units Written: 69,369,816 [35.5 TB]
Host Read Commands: 2,125,724,765
Host Write Commands: 1,440,781,009
Controller Busy Time: 0
Power Cycles: 117
Power On Hours: 1,253You can see what is wearing your disk under process / activity manager.
The M1 behaviour can it be Chrome + Youtube,Netflix,Spotify usage related?
2c
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 1%
Data Units Read: 109,446,813 [56.0 TB]
Data Units Written: 68,569,966 [35.1 TB]
Host Read Commands: 2,922,206,492
Host Write Commands: 2,180,242,949
Controller Busy Time: 4,463
Power Cycles: 13,345
This is after 40 months, during which it has been my main computer for both home and work. So about 10.5 TB of writes per year.Prior to the iMac I had a 2008 Mac Pro for work and a 2009 Mac Pro for home. Those were doing about 7.8 TB per year of writes combined, but that includes an SSD on the home one that was used for Time Machine. Subtracting out that, it was about 5.2 TB per year combined writes, so about half of what I do on the iMac.
Reducing Disk IO By Mounting Partitions With noatime https://www.howtoforge.com/reducing-disk-io-by-mounting-part...
OS X - Setting No-Access-Time on OS X SSD Volumes https://dpron.com/os-x-noatime-multiple-ssds/
Optimizing MacOS X Lion for SSD http://blog.alutam.com/2012/04/01/optimizing-macos-x-lion-fo...
Mac OS X SSD tweaks https://www.icyte.com/saved/blogs.nullvision.com/441781
Maybe the SMART tools are miscalculating?
Percentage Used: 0%
Data Units Read: 5,406,703 [2.76 TB]
Data Units Written: 5,381,633 [2.75 TB]
Host Read Commands: 27,309,330
Host Write Commands: 25,822,612
If you're on a Mac you can run "sudo fs_usage" to see what is writing to/from your disk.
It persisted through restarts and was only fixed when I reinstalled the system (and all my application software. Setup remained the same so no idea what it could’ve been)
With a few assumptions about the built-in SSD I concluded that I’d be above the most likely applicable TBW within 200 days!
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 34 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 5,315,871 [2.72 TB]
Data Units Written: 2,249,290 [1.15 TB]I was using Firefox, but have recently switched Safari full time. It just seems to run better and isn't as brutal on the battery.
brew analytics off
"According to their GitHub page, Homebrew’s anonymous user and event data have a 14 month retention period, which is the lowest possible for Google Analytics."
https://www.macobserver.com/tips/quick-tip/disable-homebrew-...
I think it is highly likely that these accesses are hitting some sort of cache (possibly page files, or SRAM, etc), not actually hitting the actual TLC/QLC part of the storage.
Obviously I could be wrong, but I’d be surprised if Apple made this big of a mistake and didn’t catch it internally before now. If they did, then there are some serious quality issues in their process.
Percentage Used: 4%
Data Units Read: 151,520,338 [77.5 TB]
Data Units Written: 102,518,209 [52.4 TB]
Host Read Commands: 3,014,199,390
Host Write Commands: 2,371,675,100Percentage Used: 5%
Data Units Read: 498,780,988 [255 TB]
Data Units Written: 265,225,887 [135 TB]
Host Read Commands: 6,633,264,962
Host Write Commands: 2,911,463,422
=== START OF SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02) Critical Warning: 0x00 Temperature: 32 Celsius Available Spare: 100% Available Spare Threshold: 99% Percentage Used: 2% Data Units Read: 79,321,757 [40.6 TB] Data Units Written: 63,313,296 [32.4 TB] Host Read Commands: 2,312,199,690 Host Write Commands: 1,098,534,950 Controller Busy Time: 0 Power Cycles: 130 Power On Hours: 1,213 Unsafe Shutdowns: 52 Media and Data Integrity Errors: 0 Error Information Log Entries: 0
How does this far in comparison?
https://windsketch.cc/macbook-disable-swap/
I hope this HN thread prompts Apple teams to investigate and solve the issue.
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 37 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 2%
Data Units Read: 45,932,352 [23.5 TB]
Data Units Written: 48,394,214 [24.7 TB]
Host Read Commands: 1,069,241,760
Host Write Commands: 698,888,162
Controller Busy Time: 0
Power Cycles: 137
Power On Hours: 661
Unsafe Shutdowns: 48
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Now my battery health is a different story... SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 25 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 933,459 [477 GB]
Data Units Written: 670,152 [343 GB]
Host Read Commands: 15,779,474
Host Write Commands: 7,614,634
Controller Busy Time: 0
Power Cycles: 78
Power On Hours: 6
Unsafe Shutdowns: 3
Media and Data Integrity Errors: 0
Error Information Log Entries: 0``` SMART/Health Information (NVMe Log 0x02) Critical Warning: 0x00 Temperature: 26 Celsius Available Spare: 100% Available Spare Threshold: 99% Percentage Used: 0% Data Units Read: 4,167,081 [2.13 TB] Data Units Written: 2,807,840 [1.43 TB] Host Read Commands: 57,601,178 Host Write Commands: 45,778,010 Controller Busy Time: 0 Power Cycles: 168 Power On Hours: 43 Unsafe Shutdowns: 8 Media and Data Integrity Errors: 0 Error Information Log Entries: 0 ```
Percentage Used: 0%
Data Units Read: 5,170,416 [2.64 TB]
Data Units Written: 2,977,938 [1.52 TB]
Host Read Commands: 89,184,979
Host Write Commands: 34,892,977
Mostly being used for building web apps, somewhat heavy video editing loads, and messing around in python. Using a lot of different software, much of it (entire Adobe Suite) via rosetta. I'm not sure what to make of these stats yet.> Maybe we should consider listing which OS version everyone is using? I never updated from 11.0.1 and these stats seem comparatively low. Latest Big Sur is 11.2.1.
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: 8,236,219 [4.21 TB]
Data Units Written: 6,393,656 [3.27 TB]
Host Read Commands: 86,536,748
Host Write Commands: 37,609,250Percentage Used: 0%
Data Units Read: 23,095,006 [11.8 TB]
Data Units Written: 22,728,206 [11.6 TB]
Host Read Commands: 436,520,152
Host Write Commands: 414,121,166
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 25,160,936 [12.8 TB]
Data Units Written: 23,041,292 [11.7 TB]
Host Read Commands: 207,408,853
Host Write Commands: 98,285,538
Controller Busy Time: 0
Power Cycles: 173
Power On Hours: 101Written this from a mac mini m1 8Gb,256Gb
Available Spare: 100%.
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 4,645,245 [2.37 TB]
Data Units Written: 4,045,006 [2.07 TB]
Host Read Commands: 30,123,041
Host Write Commands: 17,403,647
Controller Busy Time: 0
Power Cycles: 85
Power On Hours: 18The use case is usually about append-only logs: MacOS constantly generates tiny log lines and those must go somewhere? Does Write Amplification make logging a bad use case on SSD?
Percentage Used: 0% Data Units Read: 10,224,513 [5.23 TB] Data Units Written: 9,526,626 [4.87 TB]
I wouldn't mind writing a bit of code either to get these stats. I have a 2020 Intel Mac Mini and an old MacBook Pro with a Samsung Evo 840.
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 30 Celsius
Available Spare: 100%
Available Spare Threshold: 50%
Percentage Used: 4%
Data Units Read: 7,993,097 [4.09 TB]
Data Units Written: 10,644,620 [5.45 TB]
Host Read Commands: 93,990,757
Host Write Commands: 215,449,508
Controller Busy Time: 1,499
Power Cycles: 107
Power On Hours: 8,203
Unsafe Shutdowns: 21
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Temperature Sensor 1: 30 Celsius
Thermal Temp. 1 Transition Count: 85
Thermal Temp. 2 Transition Count: 74
Thermal Temp. 1 Total Time: 340
Thermal Temp. 2 Total Time: 122Percentage Used: 6%
Data Units Read: 163,709,197 [83.8 TB]
Data Units Written: 180,048,189 [92.1 TB]
Host Read Commands: 2,225,703,049
Host Write Commands: 1,729,134,696
It has been a maxim for decades, and it holds true even today.
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 44,414,705 [22.7 TB]
Data Units Written: 38,739,583 [19.8 TB]
Host Read Commands: 769,910,444
Host Write Commands: 421,693,825
I have had macbook SSDs die in the past and thanks to it being a swappable module back then, it was no big deal.
In the past, when the SSD dies on these older Macbooks, you just replace the SSD with a new one. Very important for long term use when it eventually goes out of warranty, since there would be no need to go to the Apple Store to get it replaced for a fee.
On the M1 Macbooks, thats it. It's bricked and your data is lost and no way to recover it. (If you didn't backup in advance) You might as well buy another one.
In my case, I will continue to use my old Macbook and wait until Apple fixes the excessive writes or swapping issues in a newer version of macOS. By then I would be getting a Macbook with a newer M1X or M2 processor that doesn't have the excessive swapping issues and the software ecosystem for Apple Silicon would already have caught up with it and will be optimised for the processor.
I said it before with Apple products [0] [1] [2] [3], I always ignore the first generation unless you want to be a bleeding edge beta tester trying to get work done or you're after collector editions.
[0] https://news.ycombinator.com/item?id=25066248
[1] https://news.ycombinator.com/item?id=23638202
Thanks!
I've got the 512GB SSD / 16GB ram model.
I'm using it HARD for 12 hours a day so YMMV...
My main NVMe drive's stats, after almost a year of ownership, after 3 OS installs (windows and linux, though I moved windows to a smaller less used sata ssd a few months ago) and frequently moving big files on/off network storage, installing games, and dev work for small personal projects etc:
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 0%
Data Units Read: 200,214,119 [102 TB]
Data Units Written: 27,304,663 [13.9 TB]
Host Read Commands: 616,298,176
Host Write Commands: 387,970,043In case some SSDs already have big damage - will probably be replaced for free as usual.
8G is pathetic for 2021 anyway. Would never go under 16G for a serious machine.
Memory used: 10GB
Uptime: 1d
I don't know, feels like OP is right. 16GB is not enough in 2021, especially since I my computer is from 2013 and already had 16GB.
Unfortunately this is where Apple decided to make money, so we have brand-new 8GB $1000 devices in 2021. Thanks Apple.
I had a M1 Air with 8GB of RAM and ended up having to buy a M1 Air with 16GB of RAM since the swapping during my normal workflow made the machine unusably slow. Dozen Chrome tabs, Angular 2+ application being served, Webstorm, GUI Git client, Messages, and a few other little things.
Once something dies I can replace it at any time on my own and the prices for replacement parts are actually going down, not up. It is "a tad" heavier but on the other side, I would carry the backpack with me regardless of weight (and now I can skip a fitness session :D).
Why on earth are you even buying apple laptops? Ok, I do understand it for nontechnical people but we are on HN. I just dont understand a reasoning why you dont get yourself a proper laptop instead and all the convenience that comes with that. "Its beautiful" reason?
I would imagine you actually do work on your laptop and the look is not your primary criteria when buying a work rig (although I have always loved Thinkpad boxy designs).