> The fact that an idle Mac has over 2,000 threads running in over 600 processes is good news
Not when one of those decides to wreck havoc - spotlight indexing issues slowly eating away your disk space, icloud sync spinning over and over and hanging any app that tries to read your Documents folder, Photos sync pegging all cores at 100%… it feels like things might be getting a little out of hand. How can anyone model/predict system behaviour with so many moving parts?
My pet peeve with the modern macOS architecture & its 600 coordinating processes & Grand Central Dispatch work queues is debugability.
Fifteen years ago, if an application started spinning or mail stopped coming in, you could open up Console.app and have reasonable confidence the app in question would have logged an easy to tag error diagnostic. This was how the plague of mysterious DNS resolution issues got tied to the half-baked discoveryd so quickly.
Now, those 600 processes and 2000 threads are blasting thousands of log entries per second, with dozens of errors happening in unrecognizable daemons doing thrice-delegated work.
>with dozens of errors happening in unrecognizable daemons doing thrice-delegated work.
It seems like a perfect example of Jevons paradox (or andy/bill law): unified logging makes logging rich and cheap and free, but that causes everyone to throw it everywhere willy nilly. It's so noisy in there that I'm not sure who the logs are for anymore, it's useless for the user of the computer and even as a developer it seems impossible to debug things just by passively watching logs unless you already know the precise filter predicate.
In fact they must realize it's hopeless because the new Console doesn't even give you a mechanism to read past logs (I have to download eclecticlight's Ulbow for that).
> Now, those 600 processes and 2000 threads are blasting thousands of log entries per second, with dozens of errors happening in unrecognizable daemons doing thrice-delegated work.
This is the kind of thing that makes me want to grab Craig Federighi by the scruff and rub his nose in it. Every event that’s scrolling by here, an engineer thought was a bad enough scenario to log it at Error level. There should be zero of these on a standard customer install. How many of these are legitimate bugs? Do they even know? (Hahaha, of course they don’t.)
Something about the invisibility of background daemons makes them like flypaper for really stupid, face-palm level bugs. Because approximately zero customers look at the console errors and the crash files, they’re just sort of invisible and tolerated. Nobody seems to give a damn at Apple any more.
Are you sure they don’t get sent to Apple as part of some telemetry / diagnostics implementation?
You don't need them to be sent to Apple. And if errors in console get sent to Apple, it's surely filtered through a heavy suppression list. You can open the Errors and Faults view in Console on any Mac and see many errors and faults every second.
They could start attacking those common errors first, so that a typical Mac system has no regular errors or faults showing up. Then, you could start looking at errors which show up on weirdly configured end user systems, when you've gotten rid of all the noise.
But as long as every system produces tens of thousands of errors and faults every day, it's clear that nobody cares about fixing any of that.
Oh they absolutely are. But Apple clearly doesn’t care enough to actually fix them. They seem to get worse every release.
It's slowly approaching what SRE has been dealing with for distributed systems... You just have to accept things won't be fully understood and whip out your statistical tooling, it's ok. And if they get the engineering right, you might still keep your low latency corner where only an understandable set of things are allowed.
If open source projects like Slackware Linux can keep it stable on zero budget with a zoo of components since before we knew what SRE was, then Apple can afford to have operating system specialists who know the whole system. It’s like they gave up and welded the jukebox closed because it was making enough money.
Slackware Linux is way less complicated than MacOS. It runs far fewer, and much simpler, components and much less functionality in a default install. Like any Linux, there are myriad problems that can arise as users begin customizing the system, but until then, all those potential bugs remain deceptively hidden below the surface. And Slackware also has no constantly moving hardware team to keep track against and no hard timelines to hit for releases.
I wonder if that explains my intermittent keyboard lockups on MacOS? The keyboard just failing to work for a few minutes. The keyboard, a logitec one with a dongle, never has problems under windows or linux. M1 mac mini, not upgraded to Tahoe yet.
for me it’s iMessage, it gets out of sync way too often and then it eats the CPU away
Pretty heavy iMessage user here, but I can't say I experience any issues, and that's probably why your issue is not getting fixed - ie. nobody at Apple is able to reproduce it. Maybe you should gather some info about it and see if you can send a bug report?
It happens more often when switching devices, particularly if it’s a less than regularly used device like an iPad. Happens with my travel MacBook. Takes messages a solid day to catch up.
The most I’ve heard back from a reproducible bug report was ”cool, it shouldn’t do that”. The response came on the dev forums, the actual bug has never been acknowledged or fixed. Multiple times. Why bother?
link?
What I've found is if I open a picture in iMessage it tends to trigger the CPU hungry behavior. I notice it after a while as my laptop starts getting hot and battery draining much faster than expected. I hard quite iMessage, reopen it, and all is fine.
fair point, I should — one classic symptom I experience is the emoji picker will make it crash, not load quickly, and if it finishes loading they all appear as empty placeholders (maybe because I have way too many stickers and iCloud sync is tripping? idk)
and if it paid off, that would almost be acceptable! But no. After spotlight has indexed my /Applications folder, when I hit command-spacebar and type "preview.app", it takes ~4 seconds on my M4 laptop to search the sqlite database for it and return that entry.
grumble
On pre-Tahoe macOS there is the “Applications” view (accessible e.g. from the dock). Since the only thing I would use Spotlight for is searching through applications to start, I changed the Cmd+Space keybind to launch the Applications view. The search is instant.
Spotlight, aside from failing to find applications also pollutes the search results with random files it found on the filesystem, some shortcuts to search the web and whatnot. Also, at the start of me using a Mac it repeatedly got into the state of not displaying any results whatsoever. Fixing that each time required running some arcane commands in the terminal. Something that people associate with Linux, but ironically I think now Linux requires less of that than Mac.
But in Tahoe they removed the Applications view, so my solution is gone now.
All in all, with Apple destroying macOS in each release, crippling DTrace with SIP, Liquid Glass, poor performance monitoring compared to what I can see with tools like perf on Linux, or Intel VTune on Windows, Metal slowly becoming the only GPU programming option, I think I’m going to be switching back to Linux.
macOS profiling tools completely blow Linux’s perf out of the water. It’s not even close.
https://blog.bugsiki.dev/posts/apple-pmu/
> I quickly found out that Apple Instruments doesn’t support fetching more than 10 counters, sometimes 8, and sometimes less. I was constantly getting errors like '<SOME_COUNTER>' conflicts with a previously added event. The maximum that I could get is 10 counters. So, the first takeaway was that there is a limit to how many counters I can fetch, and another is that counters are, in some way, incompatible with each other. Why and how they’re incompatible is a good question.
Also: https://hmijailblog.blogspot.com/2015/09/using-intels-perfor...
Your first example is a CPU limitation that Instruments doesn't model (does perf?), but is still mostly better than Intel chips that are limited to 4 dynamic counters (I think still? At least that's what I see in the Alder Lake's Golden Cove perfmon files...)
Your second example, is the complaint that Instruments doesn't have flamegraph visualization? That was true a decade ago when it was written, and is not true today. Or that Instrument's trace file format isn't documented?
It’s a condemnation of how bad perf is if it loses to that.
So far I have provided you with examples of how Instruments.app loses to perf. Perf does not have these limitations. You have not provided any examples in the reverse direction.
Both of your examples are actually very good at explaining my point. Both Instruments and perf largely expose the same information, since they use trace features in the hardware together with kernel support to profile code. Where they differ is the UI they provide. perf provides almost nothing; Instruments provides almost everything. This is because perf is basically a library and Instruments is a tool that you use to find performance problems.
Why do I like Instruments and think it is better? Because the people who designed it optimized it for solving real performance problems. There are a bunch of "templates" that are focused on issues like "why is my thing so slow, what is it doing" to "why am I using too much memory" to "what network traffic is coming out of this app". These are real, specific problems while perf will tell you things like "oh this instruction has a 12% cache miss rate because it got scheduled off the core 2ms ago". Which is something Instruments can also tell you, but the idea is that this is totally the wrong interface that you should be presenting for doing performance work since just presenting people with data is barely useful.
What people do instead with perf is they have like 17 scripts 12 of which were written by Brendan Gregg to load the info into something that can be half useful to them. This is to save you time if you don't know how the Linux kernel works. Part of the reason why flamegraphs and Perfetto are so popular is because everyone is so desperate to pull out the info and get something, anything, that's not the perf UI that they settle for what they can get. Instruments has exceptionally good UI for its tools, clearly designed by people who solve real performance problems. perf is a raw data dump from the kernel with some lipstick on it.
Mind you, I trust the data that perf is dumping because the tool is rock-solid. Instruments is not like that. It's buggy, sometimes undocumented (to be fair, perf is not great either, but at least it is open source), slow, and crashes a lot. This majorly sucks. But even with this I solve a lot more problems clicking around Instruments UI and cursing at it than I do with perf. And while they are slow to fix things they are directionally moving towards cleaning up bugs and allowing data export, so the problems that you brought up (which are very valid) are solved or on their way towards being solved.
> Because the people who designed it optimized it for solving real performance problems.
The implication that perf is not is frankly laughable. Perhaps one major difference is that perf assumes you know how the OS works, and what various syscalls are doing.
> perf assumes you know how the OS works, and what various syscalls are doing.
You just proved again that it's not optimized for reality because that knowledge can't be assumed as the pool of people trying to solve real performance problems is much wider than the pool with that knowledge
You are saying that like perf is Linux only profiling tool.
That’s what they compared to
I have the same issue on my M4 Macbook Pro and I had it on my previous M2 Apple Mac Mini, on several macOS versions (pre-Tahoe). I suspect it has to do with the virtual filesystem layer, as I had used OneDrive for Mac and now Proton Drive. Whatever it is, it has been broken for years on several devices and OSes and I am pretty sure Apple doesn't care about it.
On my Intel mac searching with cmd+space for a file takes under a second. Maybe there is a problem on your end?
I’ve actually had worse problems as recently as last week: Apps stopped showing up completely in spotlight.
Only a system reinstall + manually deleting all index files fixed it. Meanwhile it was eating 20-30GB of disk space. There are tons of reports of this in the apple forums.
Even then, it feels a lot slower in MacOS 26 than it did before, and you often get the rug-pull effect of your results changing a millisecond before you press the enter key. I would pay good money to go back to Snow Leopard.
I had the same problem last year, re-indexing all the files fixed it for me[1].
That being said, macOS was definitely more snappy back on Catalina, which was the first version I had so I can't vouch for Snow Leopard. Each update after Catalina felt gradually worse and from what i heard Tahoe feels like the last nail in the coffin.
I hope the UX team will deliver a more polished, expressive and minimal design next time.
[1] - https://support.apple.com/en-us/102321
Catalina and Mojave were the closest releases in terms of quality that we got to Snow Leopard. Catalina in particular since it was the release that removed more 32-bit cruft (like Snow Leopard before it).
I may be a spotlight unicorn, but I’ve never seen this behavior people complain about. Spotlight has always been instant for me, since its introduction and I’ve never seen a regression.
It is completely useless on network mounts, however, where I resort to find/grep/rg
I've never had this issue. M1 Max. But I also disable some of the Spotlight indexes. Cmmd+Space has no files for me, when I know I am searching for a file I use Finder search instead.
It feels like the 2000s era of “Mac software is better but you have to tolerate their hardware to enjoy it” has inverted in the last 5 years. Incredible hardware down to in-house silicon, but software that would have given Steve Jobs a stroke.
Firstly performance issues like wtf is going on with search. Then there seems to be a need to constantly futz with stable established apps UXes every annual OS update for the sake of change. Moving buttons, adding clicks to workflows, etc.
My most recent enraging find was the date picker in the reminders app. When editting a reminder, there is an up/down arrow interface to the side of the date, but if you click them they change the MONTH. Who decided that makes any sense. In what world is bumping a reminder by a month the most common change? It’s actually worse than useless, its actively net negative.
TIL there is a search bar triggered by CMD+Space. After 15 long years.
Too late. Apple has destroyed it.
I just got my first ARM Mac to replace my work Win machine (what has MS done to Windows!?!? :'()
Used to be I could type "display" and Id get right to display settings in settings. Now it shows thousands of useless links to who knows what. Instead I have to type "settings" and then, within settings, type "display"
Still better than the Windows shit show.
Honestly, a well setup Linux machine has better user experience than anything on the market today.
> a well setup Linux machine has better user experience than anything on the market today
We probably have to preface that with “for older people”. IMO Linux has changed less UX wise than either Windows or MacOS in recent years
Even if the degradation of the user interfaces is noticed especially by older people, I doubt that this has anything to do with them being old and I believe that it is caused only by them being more experienced, i.e. having seen more alternatives for user interfaces.
For several decades, I have used hundreds of different computers, from IBM mainframes, DEC minicomputers and early PCs with Intel 8080 or Motorola MC6800 until the latest computers with AMD Zen 5 or Intel Arrow Lake. I have used a variety of operating systems and user interfaces.
During the first decades, there has been a continuous and obvious improvement in user interfaces, so I never had any hesitation to switch to a new program with a completely different user interface for the same application, even every year or every few months, whenever such a change resulted in better results and productivity.
Nevertheless, an optimum seems to have been reached around 20 years ago, and since then more often than not I see only worse interfaces that make harder to do what was simpler previously, so there is no incentive for an "upgrade".
Therefore I indeed customize my GUIs in Linux to a mode that resembles much more older Windows or MacOS than their recent versions and which prioritizes instant responses and minimum distractions over the coolest look.
In the rare occasions when I find a program that does something in a better way than what I am using, I still switch immediately to it, no matter how different it may be in comparison with what I am familiar, so conservatism has nothing to do with preferring the older GUIs.
> Nevertheless, an optimum seems to have been reached around 20 years ago, and since then more often than not I see only worse interfaces that make harder
A consequence of having "UI designers" paid on salary instead of individual contract jobs that expire when the specific fix is complete. In order to preserve their continuing salary, the UI designers have to continue making changes for changes sake (so that the accounting dept. does not begin asking: "why are we paying salary for all these UI designers if they are not creating any output"). So combining reaching an optimum 20 years ago with the fact that the UI designers must make changes for the sake of change, results in the changes being sub-optimal.
> Nevertheless, an optimum seems to have been reached around 20 years ago, and since then more often than not I see only worse interfaces that make harder to do what was simpler previously, so there is no incentive for an "upgrade".
“I've come up with a set of rules that describe our reactions to technologies:
1. Anything that is in the world when you’re born is normal and ordinary and is just a natural part of the way the world works.
2. Anything that's invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it.
3. Anything invented after you're thirty-five is against the natural order of things.”
Douglas Adams
I believe it’s more about familiarity and being more resistant to change both good and bad
Because of Linux's Fragmentation there are so many different UI being created right now and so much more experimentation. There is KDE with endless customization, Gnome for the people who are okay with a more opinionated UI, Cosmic the completely new Desktop Environment and of course the good old lxde. I have to use Windows at work these day and every single one of these makes the Windows feel like it's more suited for Old People because of how slow it can be.
Does KDE have endless customization?
I just installed Plasma with Endevouros and use it. I used Cinnamon before it. They don't require much effort.
Yes but most people just fire up the distro, UI, and settings that they’re most comfortable with for their daily driver. People can and often keep things the same
>windows shit show
And yet on Windows 11, hit Win key, type display, it immediately shows display settings as the first result.
Followed by 5 ads and a link to use copilot! ;)
Unless it decides to update your search results to search for “Display” with bing in Edge, despite edge not being my browser.
[dead]
Despite what the sibling comment says, my anecdata is that cmd+space works perfectly fine.
People are really unable to differentiate “I am having issues” and “things are universally or even widely broken”
Or, and bear with me hear, there is a problem even if you aren't experiencing it.
I've been using spotlight since it was introduced for... everything. In Tahoe it has been absolutely terrible. Unusable. Always indexing. Never showing me applications which is the main thing I use it for (yes, it is configured to show applications!). They broke something.
for the record, my newish mac shows the display settings fine when i type display
Sounds like typical Windows experience