Memory leaks are crippling my M1 MacBook Pro
macworld.com
macworld.com
The symptoms is always generally poor performance after the system has been running a while (4h to a week, varies), usually with WindowServer using CPU cycles non-stop and UI that felt choppy across all programs.
This seemed to happen frequently after "opening many files", like doing some recompiling with Xcode for a few hours, or indexing a large volume with Spotlight. Rebooting helps temporarily.
Today I realized that data read/written since boot was about 1TB in a few hours on a brand new OS install, and I traced this back to the com.apple.Safari.History process. Somehow having bookmarks and previously using Safari 15.x caused a huge amount of I/O that wouldn't stop - the solution was to remove all bookmarks and reading list items. Performance was immediately back to normal, no reboot needed.
So just logging in with your iCloud id, you could be "importing" whatever performance problem you're having on a new install.
I recommend you reboot and take a look at your disk I/O stats - maybe this will help someone!
Quitting Safari seems to resolve the slowness, but not always.
No, for many people it was Rosetta apps.
BTW, Apple totally lied when they said they "fixed it" in an update and it was only a "reporting issue". It's not fixed, and it was absolutely f'ing not a reporting issue. People's SSDs have already failed because of this, and obviously they're soldered.
Any links to more info about this? I’ve had my eye on a 16” Pro with an M1 Max for a couple weeks now but want to make sure it won’t have issues like this.
I don't see any reports but there is evidence that should the soldered on SSD fail the entire device is borked short of board level repair.
Safari is the IE of browsers with respect to being buggy and behind on features with a slower release schedule.
IE was both and more extreme on both issues.
In one case I also had it crash while I was out, with every open program opened several times on the dock. I didn't do this and in fact macOS doesn't let you do this. Everything was hanging completely so I had to turn it off and on again :)
But this kind of thing does not instill a lot of confidence
See open(1), in particular the -n flag.
I'm runnign on 2018 MBP, 16GB RAM + 4k external monitor. I experienced the same type of issues a couple of months back — high WindowServer CPU, mega choppy UI after a few days of use. Initially thought it was Safari, but it kept happening with other browsers as well. Researched it a bit and found a thread where someone suggested running both the laptop and the monitor on native resolution. Haven't had any problems since doing that. WindowServer sits at about 10% CPU and ~2GB RAM, current uptime 10 days.
https://support.apple.com/en-us/HT202043
Seems to me a different issue than what people are complaining about atm... but what do i know, might be one and the same.
Edit: very weird... Looks like this setting was reverted for me. I just updated from 11.? to 12.0.1, so I wonder if the installer undid some of my changes. No performance issues, but I've literally just my computer on for the first time after the upgrade.
I'm also pretty much always plugged in. It's likely that the issue was manifesting before switching to a 4k monitor, but after switching the issue became unbearable. E.g I'd wait 2-3s to switch between windows or desktops. Running both screens on native resolutions and I'm switching between windows near-instantly.
¯\_(ツ)_/¯
Sounds like it isn't an issue of flip/flopping between discrete and integrated GPU then... must just be the integrated GPU and its ability to deal with non-native resolutions.
Along with iCloud syncing for one reason or another have relatively higher probability of being messed up during update, and you end up with a scenario where something is to probably synced and it keeps trying it over and over again.
Thanks for such a quality app.
Im only using it to fully turn off my built-in monitor while working in clamshell mode and then manually setting the external’s brightness.
So no sync mode (and not even sunset sunrise)
But solved my problems nicely and no more reaching out to my external monitor’s buttons in Narnia
If I’ll keep using it I’ll make sure to caffeinate you ;)
Every time this happens, Xcode uses about 4GB of RAM (probably because of the monolithic UI storyboard of Lunar) but it should still leave enough memory for my other non-memory hungry apps.
But then I open Activity Monitor and I see WindowServer using ~80GB of memory [2]
The only remedy is either `killall WindowServer` or a full reboot.
I've been using an M1 MacBook Pro and Monterey since the first developer beta but this only became an issue in the last 2 months or so.
I have no idea how to troubleshoot this and don’t really have time for it when working on hotfixes, I just want to get back in a state where I’m not facing an imminent system lock up where I can’t even save my recent work.
Although that particular issue will show in application footprint, not WindowServer. I see WindowServer buildup on one of my M1s still, even in 12.1 beta :(
https://randomascii.wordpress.com/2018/02/11/zombie-processe...
This is an intel Mac though. I haven’t seen it on my M1 at home.
To answer your question, I have a total of 73 windows open at the moment. 11 of them are from applications with a single window open, 8 are from iTerm, and 54 are from Sublime Text. I am aware that is quite a lot for Sublime, but that is just how I use it.
Regardless, I just quit Sublime Text, and the memory usage only dropped to 8.9GB still absurdly high for having 19 windows open.
https://gist.github.com/ccampbell/9a0118b0e3e607ec56a3a2cc59...
WindowServer has consistently been the main culprit but occasionally other apps like to chip in where they can too. Often that means there isn’t one single process which I can kill to reclaim enough memory to continue working without being promoted again or having MacOS forcibly close all my applications on me. As a result, reboots appear to be the only real solution for me.
Interestingly though, in the past few weeks I have been working with similar numbers of open Sublime Text windows as yourself and I can confirm that since then, ST4 has been a regular and serious offender when it comes to memory usage in Activity Monitor.
They sell you a very expensive machine that doesn't work.
Your reaction?
Buy a more expensive one from the same provider!
Also, I get along just fine with the last few Macs I have had...
My issue with that is 1. Can I trust the hackintosh to not be compromised and 2. Uploading an IPA via hackintosh feels like bananas.
Of course, once Apple kills off x86-64 macOS it is going to become more complicated.
[1] https://github.com/tpoechtrager/cctools-port
[2] https://github.com/apple-cross-toolchain/xcbuild
[3] https://thi.im/posts/cross-compiling-for-ios-part-1-build-sw...
Is the experience very different for Linux developers?
Desktop application development today is maybe about 1-5% of all development, while overwhelming majority of backend development - the largest category - targets Linux.
Windows: 70%
Linux: 20-80% depending on your hardware, what you're doing with it, and how lucky you got with the current kernel & libraries your distro is running.
MacOS: 90%
So when Apple fucks up really bad and MacOS temporarily drops to 70%, no, I still don't switch. Every desktop operating system is shitty, but there are degrees of shitty.
And yes, I use all three pretty regularly.
Two concrete examples: trackpad feels like shit on both Windows and Linux, installing or updating drivers and some apps on Windows constantly switches back to legacy modes to display the installers (with different fonts, no subpixel smoothing etc.). If it's not a deal breaker, it is annoying as hell and something that almost never happens on my Mac.
Your experience must differ, but if I spent $2000+ on a device only to find that was locking up (due to poor memory management in a standard component!) under my standard workload, I would be livid. I would probably return it, and then tell the next 10 people I meet about my poor experience.
That said, I have run across a Windows 7 bug where the font manager would repeatedly fail and leave its cache/log on disk, only to restart and repeat until the hard disk was just about full. Complaints about the poor state of software engineering as a discipline go back to the beginning.
I got so sick of troubleshooting issues myself, I switched to Windows 7 and have never had to troubleshoot my OS since then. I don't google Windows issues, I don't have crashes, nothing.
It's nice to have a machine that I can just work on and not constantly debug.
(I 100% expect privacy advocates to admonish me for this, but I use hardware I assembled myself and block MS telemetry.)
That.
I don't love Apple. They're a corporation, so at best our interests temporarily align. Loving them would be absurd. I really really want them to have strong competitors. I'd love to be back on an open source OS full-time, like I was for many years.
Unfortunately, they're so far ahead of the competition, that they screw up, sometimes even in a few ways at the same time, and people come out saying "LOL and Apple fanboys won't switch to Linux even now", and that's true... but it's because I'd be trading a few problems for a few score problems.
I ran Linux on laptops and desktops for about a decade, as my main computers. Ubuntu near the end, Gentoo for about five years, Mandrake really early on, a little time with Fedora somewhere in there, a sprinkling of Debian. I still try it out every year or two! I wish it weren't, but it's still much, much worse, and in the best case slows me down and gets in my way more than a "bad" Apple machine with a "bad" version of an OS X / MacOS, barring actual faulty hardware.
Changing brands becomes more of an ordeal than staying.
I ran windows, then linux for ~4 years as a daily driver, switched to mac about a year ago.
I do back end/front end development full time for work + work on many performance sensitive personal projects, and couldn't be happier with the OS.
It's almost like different users have different experiences based on their use cases...
All these problems have since gone away thanks to software updates and (importantly) a BIOS update. It turned out my USB controller wasn't being configured correctly by the motherboard. If I didn't happen to check for BIOS updates, I'd still have lots of problems.
And that was still a better experience than the HP laptop I bought a couple of years ago. That laptop had so much HP crap preinstalled that it sat on 30% CPU usage at all times out of the box. The biggest offender was some HP process doing microphone noise reduction. It ran all the time regardless of whether or not the microphone was being used - and utterly demolished the machine's battery life.
Apple is far from perfect, but they have a better reputation than most vendors for a reason. And their technical support is are excellent. I've had thousands of dollars of free hardware repairs & replacements over the years when things have broken in my apple machines. I wish they didn't break so much; and I wish they prioritised fixing software bugs over adding features internally. (APFS aside, I would trade the last 5 years of macOS features for better stability and performance in a heartbeat.) But there's a reason they're so well liked on HN. They're still pretty excellent in comparison to the competition.
You said:
> The [mac users] that don’t complain have low standards
I agree with you. I'd go even further and say most users have low standards, because the out-of-the-box experience with most modern computers is pretty bad. Apple users should absolutely complain more when the out-of-the-box experience with their computer isn't perfect. We all should.
Apple customers keep buying apple computers despite their issues not because we have low standards. We do it because the alternatives are even worse.
I think you’re probably right about this. It’s like we’ve been trained to have low expectations.
If nonlinux users are trained to have low expectations, Linux users are trained to rape themselves constantly.
Here's my experience with Arch Linux: 1) You install what you need to install 2) You read the doc and configure to your liking, learning what the system can and cannot do and how it works with everything else 3) Things generally work as documented and you go your merry way 4) When something break or doesn't work, you have the knowledge or a general idea of what to fix
Compared to proprietary systems where there is no documentation and little configuration, when things break or misbehave you're essentially screwed. Will you wait for an official fix or look online for reverse engineers? You bought a black box and you can't just open it and fix it.
I'd rather spend a day learning about my system during the installation and having it work for years, instead of buying yet another black box I can't open.
Learning linux doesn't take a day. Second off those black boxes statistically are more reliable than linux EVEN when you account for all the things you talked about.
The reason for this is simple. Microsoft has a business advantage and unfairly strong arms hardware manufacturers to make their stuff work with windows. This unfair advantage makes the windows user experience better and more reliable than GNU linux whos' developers constantly have to play catch up with hardware.
In the last 20 years PC hardware has become ridiculously faster - and yet the user experience seems to have changed little.
I saw an article ages ago whereby Microsoft apparently had a dependencies approval gateway. If you made any change based on Windows you had to remove/reduce your dependencies or make a good case for not doing so.
I was hoping that would catch on.
Each operating system has benefits and downsides. For user experience linux is definitively the worst. Definitively. The differences are so large that it's almost comical how someone on this planet can't see the difference. If you can't see this then you are the one that is part of a cult.
I use linux every day for work and:
- Hidpi support is spotty (its getting better but still a bit spotty)
- Smooth scrolling in applications is inconsistent at best
- The keyboard shortcuts for moving the text cursor around are inconsistent between programs
- Hardware support is much more of a crap shoot. Linux has a harder job than macos in trying to support every combination of janky hardware out there. But as a user, I don't really care. I just know that if I buy a mac, the OS will work perfectly with the hardware on offer. That isn't true on linux.
- Lots of useful software isn't available on linux. Eg, I love Monodraw, but thats macos only.
- App distribution on Linux is a mess. Apt? RPM? Snap? Flatpack? Etc etc. I have 2 copies of discord installed for some reason, and I have no idea what the difference is between them.
Etcetera..
Linux gives you the choice and freedom to spend an unlimited number of hours customizing everything. With linux I'm in complete control and I love that. On macos, things usually just work out of the box. I love that too.
No OS is perfect. There's tradeoffs with everything. If you don't understand other people's preferences, that doesn't make you right. It makes you ignorant.
He's obviously comparing a linux PC experience with an apple OSX experience. It's a completely valid comparison but you're just being mean an inappropriate.
Wow, well, thanks a lot. I've been developing on both the Mac and Linux for years and I don't have this issue on any of the multiple MBPs I use, including my personal 2013 model. I'm not saying I have no problems on the Mac, but they're not worse than the issues I had with Linux, especially on laptops.
so what is the laptop that would meet this standard for which you're making a judgement?
So far, apple hardware has been superior to any other manufacturer, even with their warts, and their anti-consumer practises (of not having replaceable batteries, etc).
I've been perfectly happy with a surface book 2, and various Lenovo and HP laptops. They each have better and worse product lines. Currently rocking an HP elitebook for personal use and a MB Pro for work.
The hardware quality is more or less the same on both. With the pro, you get a moderately better touchpad, a bit thinner and metal chassis. On the other hand, crap keyboard and the abomination that is the touch bar, and no legacy ports.
Personally, I don't think I would buy Apple for myself ever again, but that's just me.
I primarily navigate by keyboard, so the difference between an acceptable and amazing trackpad is pretty minimal for my preferences. On the other hand, port wonkiness, temperamental wifi, okay keys, mediocre battery, driver issues and an utterly useless webcam convinced me to ditch the XPS the first chance I got. It's amazing I used it nearly 18 months.
This is where it started... https://www.engadget.com/2009-05-24-dell-now-offering-studio...
Milage may vary with other manufacturers, it doesn't look like you would change to another manufacturer. Which is ok.
Check business notebooks, from HP or Lenovo. (I forgot one particular Dell series.)
Microsoft is basically a toy OS run by incompetents without reasonable QA unfit to be anything but a launcher for stream.
That's a pretty broad brush you're painting with right there.
> they haven’t experienced anything better.
I don't want to gratify this pointless flame any more than to say that I have used all of Windows (XP, Vista, 8, 8.1, 10), Debian, Fedora, Ubuntu, and macOS as my daily driver at one point or another, and I currently use macOS because I have yet to experience anything better. There is a simple explanation for your problems here: something is wrong with your system (or you are overtaxing it) if it beachballs constantly. This is not typical macOS behavior, especially not since they switched to SSDs. I actually haven’t seen a beachball in years.
It just isn't as polished, and even that's debatable.
OSX is plenty responsive, and I basically never see beachballs.
It's not a matter of low standards.
I use my computer to write Elixir code, write music with Logic and Studio One, and edit photos/videos. Maybe none of those tasks trigger the problems other people are having.
I use a dual xeon, 64GB Linux desktop which performs reasonably well.
A colleague runs a Linux machine with 16GB of ram. Compiling the same project can cause OOM issues for him and the kernel starts whacking processes.
Even if he closes all non-essential processes, his builds run 10x as long as mine due to memory constraints.
My main point here - let’s not pretend your 4GB machine is being used to do any intense local work.
The inverse of this is seen on my Intel MacBook Air and my colleague’s M1 MacBook Air. The compilation time for our code is 35 minutes or more on my machine and only 3 minutes on the M1.
That depends entirely on what you consider intense local work. Just because you are not compiling doesn’t mean running your 15 microservice stack locally is not intense.
I'd argue that _most_ programmers or even data analysts don't need more than 8 GB to perform their actual work.
But realistically they need 16+ anyway because of opening 200 browser tabs, memory-heavy IDEs, etc. 32 or 64 is nice for sure, but definitely not needed for actual "work" workloads for the most part.
Which distro and can't you configure this? (Genuinely interested)
Also if the MacBook is better, than you should use that device. It's your "conclusion".
Most Linux distro suggest you to setup swap so instead of crashing it could use the swap. I personally don't use swap, because if something is consuming too much ram I most likely want it dead.
I don't know what are you compiling, but requiring more than 16GB of ram for compiling something sounds lazy and unneeded. Likewise you can use a browser extension which reclaims ram from unused tabs.
I can understand the need to have 64gb to do video editing or rendering, but most of the times we need that much ram is because our software is badly written and we don't want to face the problem, not because of the complexity of what we're doing.
Swap is still useful to move stuff out to disk that _never_ gets accessed again.
I like how x86 is a power sucking hog for the performance and enthusiasts response is to go out and buy more power sucking hogs!
Someone wasn’t around when Linux could figure out what to do with a USB device. Spectre? Meltdown? What are those?
It’s almost as if engineering is hard and being a critic is easy.
Kind of like numbers, language allows for a never ending, so big in a sense, corpus of little ideas.
Yes, I can go setup an oom daemon, but Linux should handle this for me out of the box (ideally with some sort of logic to avoid killing something like X taking down every single program I have open). Getting stuck for half an hour or longer is just not acceptable to let happen.
While the tooling and system stability are better, the desktop and app experiences are far worse. It’s buggy, half-baked, and crash.
I regularly hop distributions and do clean installs to see if that will fix it but they’re all the same — pop!_os might be slightly more stable in that regard.
I’ve been using Linux since 1992. I’ve had several year periods in the 90s and early 2000s where Linux was all I used.
I can ditch GNOME, KDE, and XFCE and go back to twm or i3 or fvwm or Window Maker, but I’ve moved beyond thoses experiences. I want a more functional desktop.
But, I see now why I paid more to put up with Apple.
So besides dpi-scaling issues linux is known for, whats the draw? Some hotkey that does a thing? Some visual candy? Smoothness in transitions?
Whatever it is, it's hard for me to imagine it being worth the tradeoff. I can't even name desktop workspaces on a Mac!
I'm reviewing the "new features" section on Monterey: https://www.apple.com/macos/monterey/features/ and I'm not seeing much other than a few known areas (multi-device support if you bought fully into the apple ecosystem, etc).
With most "I tried linux desktop" people it's a problem of DE/WM, but you seem to be beyond that so I'm genuinely curious.
A more cohesive experience across the desktop and applications, eg.:
- The look and feel is uniform. Admittedly somewhat less so, these days now that the Apple Human Interface Guidelines are largely ignored.
- Mac apps and generally more stable.
- Mac apps generally have more features.
- The Mac apps I use generally tend to tie into the hardware (hw acceleration, drivers, etc) much better. The benefit of controlling the vertical, I suppose.
- The keyboard shortcuts both exist and are the same across apps.
- The design patterns.
- The AppleScript/x-callback-url, etc).
- Third party apps generally tend to fit well into the above.
On Linux, almost everybody seems to have their own ideas on how an app should be arranged. With full desktop environments, like GNOME and KDE lessen this, but it's still really, really common.
That said, my money is still on Linux and other open source OSes, because I don't want a single company telling me what I can and can't do.
A few things that stand out about it to me vs GNOME 3, KDE Plasma, Xfce, LXDE, and whatever the Windows interface is called:
- The consistency of the menu system, and being able to search and use the menus of any app from the keyboard with shift-cmd-?. This is like having Emacs M-x or Sublime/VSCode shift-cmd-P in every desktop app.
- Being able to assign custom keyboard shortcuts for any menu option in any app.
- Emacs keybindings for editing text in every text field (including on the web). I believe GNOME Tweaks is supposed to do this, but I could never get it to work reliably and universally like macOS.
- Native app ecosystem. Third-party Mac software is generally the most polished, though not quite as much exists as for Windows.
- System animations. This is a small one, but it makes things more fun and makes the whole system feel fluid and “organic,” for lack of a better term.
Firefox crashing is probably a Firefox problem.
You can set the scaling to be anything you want on X, just set the Xft.dpi number in your .Xresources file.
One problem with your Hackintosh install is that it’s closed source, no? As far as you know it’s exfiltrating your financial information to China.
People who do that generally don't use Gnome, but i3/swaywm/xmonad and multitude of tools where you're in control what happens.
Grass isn't always greener.
Edit for an example, I'm stuck on Catalina because they tried deprecating functionality my firewall uses. And the window shifter shortcut key program I use won't work in Big Sur.
No, that's Microsoft Windows. Apple only does it annually.
Microsoft really only tries to preserve basic compatibility for well-behaved applications that aren't tightly integrated with any OS components or specific hardware/drivers and aren't doing anything that Microsoft disapproves of. Anything that strays outside those boundaries will run into trouble, and a lot of software ends up falling outside those boundaries even if it didn't really need to.
Both operating systems are pretty bad at letting you wield control over your own computer. But macOS doesn't try as hard to obscure the BS or obstruct your attempts to tame it, and macOS actually lets you refuse updates that you don't want.
I use Linux as my daily driver and the apps I use (GNOME Terminal, other terms, Spotify, Slack, Brave and Firefox, and the GNOME desktop itself) crash multiple, sometimes several times a day on my two (work, personal) machines.
This happens across diverse machines, as well as across multiple distributions (though again, pop!_os, so far seems much less trashy for whatever reason).
Does the OS hard lock or completely crash? No... unless you have graphics drivers issues, which isn't unlikely. Then, oh man, yes, lots. X/Wayland crashes that restart the window server? Yep. Applications crashing pretty regularly or glitching out so badly they have to be restarted, including the basic applications distributed with the heavier DEs? Yep. And it turns out that your windowing environment crashing or the main program you're currently using crashing is really close to as bad as the whole machine blue-screening in Windows, from the perspective of the user. Using Linux makes me anxious, even though I very much know WTF I'm doing with it. MacOS and even (spits) Windows don't do that to me, any more. Now that I've experienced not feeling that way, I can't go back. I go years between work-lost crashes of any sort at all on MacOS. Linux, one month without such a thing would be miraculous.
If you build up from almost nothing and keep things very minimal and have very boring and stable old hardware, and do as much as possible from the command line, it can be kinda OK, but it's a lot of work to set something up like that, and ongoing effort every time you do something manually that'd be automatic or trivial on a more full-featured GUI desktop. If you start with something like Ubuntu or Fedora standard desktop installs, though, there's just too much that can go wrong, and it will, with some frequency.
I could tolerate some hardware or workflows not working and things generally being a little less convenient, maybe, if it were rock solid, but it's very far from that. The main problems seem to be that its entire graphics stack is incredibly fragile (Wayland doesn't seem to have done much, if anything, to fix that) and it's way too easy for a glitchy driver to screw up the whole system.
The only issue I had recently were audio issues which were both due to my buggy soundcard and a bug in Pipewire. Excluding that, I've had almost no issues with desktop Linux since 2017.
Looks like the 16gb model is now artificially made obsolete as well - you are supposed to buy the 64gb one.
Modern hardware can and should last ten years. Accept no excuses.
You know how I can tell that Apple made that change not with the user in mind?
By the fact that until a 3rd party proved Apple was throttling older phones, Apple never publicly stated they were doing this. I’m fact, they vehemently denied it.
I saw this on a personal level, where my mother who took 2 trips abroad about a year apart, with the same phone (and she had a lot of disk space in both trips and she hardly installs any apps) found the phone an absolute pleasure to take pictures during the first trip, kept missing shots while waiting for the camera app to load in the second one.
And on taking the phone to the Genius Bar multiple times, she was gaslighted each time as the Genius showed her their diagnostic results which showed that no, her phone was in perfect health (minus a slight degradation in battery life).
Of course, a few months later the entire world learnt that, in fact, her phone had slowed down, and Apple was lying. What’s interesting is that Apple diagnostics tools (which should probably have a speed test?) also reported everything as being just fine.
It was a measure to increase product longevity (e.g a slow phone was seen as better than a phone that shut off randomly when voltage dropped)
My iPhone 5 got so slow and Apple was so unhelpful that I ended up replacing it. That was my first and last iPhone.
But even without Apple, that particular battery was pretty easy to replace
Also: users were not warned about this "feature", many (most?) didn't know why their phones slowed down, and there was no way to disable the behaviour.
And I already mentioned in my initial comment that they didn't notify users. That's what the lawsuit in France was over, the lack of notice. I believe an OS update did eventually let users switch off the behaviour, and view their battery health.
If this was such an altruistic measure why would the geniuses at the Genius Bar deny that my mothers phone had slowed down and throw diagnostic tests at our faces? Why was the exasperated Genius, who could clearly tell that the phone was slow indeed but his successful diagnostics meant there was nothing he can do, reduced to swiping up all the apps on the phone to kill them, when we both knew that if iOS was working properly that should do nothing?
It's extraordinary to find more than a handful of anecdotes about any particular model number of consumer Windows laptop that happens to be on sale at Best Buy today. There are so many, and they cycle so rapidly.
Note that I've had Dell XPS laptops that were configured with the same price point as a Macbook and while nice...those devices definitely didn't have the same attention to quality that I've experienced with Apple products. So it seems unfair to make such a broad criticism against Apple users at large!
What is the alternative platform that runs Xcode but with the memory leak bugs fixed?
I use a MacBook trackpad to make diagrams, for 3D modeling using Blender and FreeCAD, to draw schematics and route PCBs with KiCAD, and whatever else you’d otherwise do with a mouse, and it just doesn’t get in the way.
Over the years, I’ve been forced to use work supplied top-end Thinkpads, HP, and Dell laptops and none come even close to even the trackpad of my long retired, lowly 2009 MacBook Air 11”.
I don’t really care whether I use macOS, Linux or Windows: they all run the same applications. I also don’t care about the price of a laptop: what does it matter that a tool that I use day in day out for years costs $1000 more?
I care that it’s usable.
MacBooks are usable for things I use them for. The other laptops are not.
A finance professor once told me “if you don’t vote with your wallet you don’t get to complain”
That's how you sound.
I ran heap(1) on WindowServer [1] but there's nothing in there standing out so maybe this is a red herring.
[1] https://gist.github.com/772687dba65a35cca8cd707fcfda99c0
https://bugs.chromium.org/p/chromium/issues/detail?id=115840...
I wish I had found this website when my MacBook Pro was still alive, maybe Chrome actually killed it after all. The low performance was so bad I moved to Windows 10 ("the last Windows system" they said), but after it notified my system can be upgraded to 11 I quickly moved to Ubuntu. I'm currently experiencing a few hiccups and reduced them with some memory tweaks, but still the experience is much better than Mac and Windows.
I use: VScode, Idea, iTerm2 (with x86 brew), Logic (and lots of plugins), FCPX, Live (x86, and lots of plugins), Slack, Reeder, MS Office, Spotify, Chrome and other stuff. MBP M1 16GB.
What I do get, is some bluetooth issues (e.g. affecting the mouse cursor. If you start the bluetooth deadmon it fixes itself for a day or so.
I'd wager most people on this thread do not actually own an m1 Mac.
My experience (and that of others I know that have them) has been nothing but stellar.
https://www.theatlantic.com/family/archive/2021/11/group-nar...
Most recently, the Thunderbolt 3 issues were responsible for countless hours of lost time rebooting my laptop last year, and I’m not alone: https://rachelbythebay.com/w/2020/10/03/repro/
The weirdest part was that this occurred with only Apple products connected to my laptop. I couldn’t even blame it on 3rd-party products. It also worked perfectly fine before and after the range of affected MacOS versions. There were many reports of the same issue all over the internet, so I know I wasn’t alone.
Then one day Apple finally fixed the bug and everything was back to normal. But all those months of constant reboots and crashed and failed workarounds left a mark on my overall experience.
So while the Mac experience is generally good, it’s still far from perfect. Weirdly, I’ve had far fewer problems with my Windows system in recent years.
My Mac used to expose the same kind of problems, that's why I switched to Linux on non Apple laptops years ago.
My feeling was that the quality of the OS went down constantly and apparently it's not coming back with newer releases.
Its not like Apple doesn't release faulty hardware and software. Butterfly keyboard is a good example of faulty hardware and OSX Lion crashed all the time on the Macbook pros with discrete GPUs till Apple patched it.
I have absolutely no doubt that this person is having bad memory leaks (though their narrative about SoC memory or other elements seem unlikely to play any part whatsoever). Software has faults, and something in their environment or stack is causing problems. I have an M1 Mac and used every beta of Monterey, and now the release, and have had zero problems. Like nothing at all. I use XCode, IntelliJ, Chrome, Safari, Excel, Logic Pro among others all day long, heavily. Loads of other people seem to be having no problem with their systems. Eh.
If something has literally millions of users, saying "{X} happens" will invariably draw out someone with a similar anecdote, but that doesn't mean it happens to everyone, or even a significant minority. Some unique combination of factors is yielding a poor user experience, and hopefully there is a resolution, but it just doesn't seem likely that it's widespread.
Why do I see so many pro-Apple posts then? And even posts directly pointing to an Apple ad.
Because such generalizations are just encodings of personal likes/dislikes in the form of general claims, they lead to lame discussion.
https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
Otherwise I have been very happy with the laptop.
Nope. My AirPods have regular issues and my Magic Mouse regularly disconnects.
I hoped my next M1 would solve it. Guess not.
EDIT: Perhaps the parent means Helvum, which ldd says links to libgtk-4.so.1 => /usr/lib/libgtk-4.so.1. However, I can't figure out how to open a popover (https://python-gtk-3-tutorial.readthedocs.io/en/latest/popov...) in the app; all I can do is drag to create or break connections.
I haven't tested EasyEffects. With that in mind, PipeWire is buggy AF for the time being, and I've been working over the past week to clean things up (fixed a few bugs in plasmashell and pipewire so far, but I'm still learning and there's a great deal of bugs I haven't diagnosed and explained to the maintainers, it will probably take weeks longer for me to work through everything, and I'd very much prefer the program was written to handle race conditions and edge cases properly, instead of leaving users to discover bugs and trace the root cause through the labyrinthine IPC-heavy event-driven codebase after the fact).
An advantage of C is that it comes with a stable ABI, where Rust is unstable and C++ is a subject of conflict (though you can achieve a stable ABI by restricting your external API to C functions, and if you want cross-shared-object virtual calls like Pipewire, you might have to write the same pile of macros as PipeWire, which you were trying to save yourself from). The downsides are memory and type unsafety (surprisingly the only crash I've seen so far is a null pointer dereference, and I haven't hit any obvious memory or type errors), and a complete absence of "vocabulary" or templated types (they've created their own slotmap-like ID allocator but without a generation count resulting in ever-present "logical use-after-frees" in library and application code, and an intrusive linked list which they use even when hashmaps might provide somewhat faster iteration and asymptotically faster search).
The saving grace is that it can at any time be switched over to be built with a C++ compiler, and then start to be modernized incrementally.
It would be cool (not necessarily useful, probably not a good use of time) to rewrite it in Rust while keeping the dependency count in the single digits. It would be helpful to contributors to add architectural documentation.
I finally gave up on using an XPS15 with Ubuntu because I could not get over the fact it cannot do high quality bi-direction bluetooth audio.
Edit: Looks like it does offer some improvments over pulseaudio: https://www.redpill-linpro.com/techblog/2021/05/31/better-bl....
Throw hardware at the software problem, because software absolutely cannot be trusted not to foul this up. Not Windows, not linux, not pipewire, not pulse, none of it. Evidently not mac either, though I've personally never had trouble with bluetooth on mac. Bluetooth is 23 years old and its flagship application is still completely broken across huge swaths of the client/server compatibility matrix.
But actually, since switching the AV sync is off using my Bluetooth earphones, at least in Firefox.
Curiously, I can fix it with latency adjustment in pavucontrol, but it only has an affect when the 'advanced' drop down is revealed in that tab of the menu. Close it, and it's off again. Open, and the value has persisted, and it works again. Haven't really dug into that because I've been hoping the (presumably) underlying Pipewire issue will be fixed.
Pulse is still broken a year later, pipewire is fixed.
So it goes.
That is not to say Pipewire could not also be a problem, but I haven't encountered such complaints about it.
I think you're right about this. I have a pair of JBL headphones and it will just randomly become completely garbled during a video conference under Windows.
I have to disable/re-enable Bluetooth to "fix" it. It's a mess.
The bug isn't that bad if all you use bluetooth headphones for is YouTube, video chat, and music but it makes Anki language learning decks with audio almost unusable.
I'm more familiar with BLE, which is better, but even that has a completely weird "characteristics" protocol that you have to use. Want to send a big blob of data? You have to manually cut it up into 20 byte chunks to send it over "notifications".
It's like they looked at the OSI model and thought "ah yes this looks right! we'll implement all the layers!"
Doesn't really make sense for a new CPU/GPU to fix the problem, what you want is for Apple to stick in their own networking cards.
That sounds like a big bug and a very possible cause.
My guess is faulty hardware. I've had plenty of those on the 2018 MBP (keyboard getting stuck, bulging battery and dead zones on touchbar). Waiting to see if the QC is better with new M1 Pros before buying.
Can you elaborate on this? I think i was hitting this as well. Specifically when I scroll or type, it "halts" for a split second every other second. Originally I thought it was a video card failing or something but after a long time I finally traced it to Bluetooth. Since then I have been using wired connection on my keyboard and mouse.
What do you mean by "If you start the bluetooth deadmon"
I've heard this happens when you have some USB-C hubs attached, which I do. Not sure what the connection is -- but I think my Anker hub does causes this.
>What do you mean by "If you start the bluetooth deadmon"
Sorry, I meant: "if you restart the bluetooth daemon", e.g. "sudo pkill bluetoothd".
a little unclear if you don't have a hub, or do have an Anker hub, but try moving the Anker hub far away from your Macbook and see if you still have the bluetooth issue. You need a USB cable (depending on what's the hub is you might need a 3.1 Gen2) long enough.
For me it was a hardware proximity issue. Powered external devices interfering with the Mac's bluetooth.
Only issue I've seen with it is some bluetooth flakiness sometimes the way you mentioned. Other than that, it's been a rock solid device and the only reason I haven't upgraded to one of the new MBPs despite really wanting one...is because so far I haven't been able to justify it yet considering how rock solid the M1 has been!
See my other comment in this thread about how i solved "windowserver".
Bluetooth issue was a hw proximity issue for me. My CalDigit hub was mounted right below my Macbook. I noticed when I moved my MacBook's location (still connected to hub), the bluetooth issue when away.
It's worth a try if you have a powered accessory near your macbook and haven't tried this already, but...
I do still get the issue once in a while, but I can now at least just turn the keyboard/touchpad off/on and it goes back to normal whereas before, it happened all the time.
Once in a while I still have to Shift+Option+"bluetooth menu icon" and reset bluetooth module.
I know these are just work arounds, but at least it allows me to get back to work and only have to deal with it weekly instead of not being able to use bluetooth at all.
Edit: just upgraded to 12.0.1 and noticed Shift+Option+"bluetooth menu icon" to reset bluetooth module is gone!?
I recently had to use a Windows laptop for work, and god I hate when windows becomes "not responding"
It’s just a terrible design.
Backwards compatibility is nice but it drags you down.
On the last few versions of Windows, it doesn't really feel like my computer anymore. I use my OS to lay out the structure of my thoughts, ie. I'll have text documents open, arranged in a certain way, project folders open, image editors with sketches in them... then Windows Update wakes my computer while I am sleeping and force-closes everything; I awake to a blank slate. It's as though someone has snuck into my house in in the middle of the night and swept everything off my desk and into the trash.
It does suck that you gotta do this, but at least there is a way.
Performs like a champ with excellent battery life. I keep waiting for it to start giving me some slowdown as our apps become more complex, so I can upgrade to one of the shiny new laptops...but so far, it's been a champ.
This happens every single year where there are annoying/serious bugs that takes a while to get fixed as the focus is on P1 showstoppers.
To be honest, I’m probably not going to upgrade again at all until the new MBPs seem stable enough for me to buy. Nothing in Big Sur or Monterey seems compelling enough, apart from M1 support and access to iOS apps, for me to risk the disruption.
Wikipedia shows the exact version number of the latest releases for each.
Now, if I were to update my hardware that won’t be an option.
I will probably soon-ish update to MacOS 11 "Big Sur" (released November 2020), but not yet the just-released MacOS 12 "Monterey".
On new hardware released with Big Sur? To be clear, what I was saying is not an option is “downgrading” new hardware to an older major version than the one it was released with.
~/Library/Caches/com.apple.appstore, delete contents
/private/var/folders
click through the various letters and delete any com.apple.appstore folder contents.
rebootWhen it did happen though, it seemed ludicrous: that a single app could in a matter of literally minutes start burning through gigabytes of memory, to the point where the entire system seems to freeze with no option except to kill Firefox (and everything it may be doing) to continue. And, like the author, I had started keeping Activity Monitor open so I could pre-kill Firefox at a point when I knew it would probably start to be pushing it.
It never feels good to baby-sit a machine. It feels even worse when it’s an expensive new machine. And it means that the operating system is failing at its most basic task (arguably the entire point of having an operating system) — to manage resources well.
Before about 2001, that would be a bold claim indeed in the Mac world. Pre-emptive multitasking only became a thing with the transition to BSD-based OS X
That one had me yearning for a linux grub menu entry for "previous kernel".
I doubt it's directly hardware related, though it's possible it is scoped to special MacOS logic that only is executed on M1. My assumption has been that it's actually coming from shared libraries that Apple-owned processes share, because I usually don't notice it happening for non-Apple processes.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1735345#c18
(edit: rephrased to mention macOS 12)
Until you see a WWDC that doesn't announce a major release of macOS, expect more of the same.
To any involved Apple folks here, I feel your pain, and I'm sorry.
a) You can install XCode CLI with xcode-select --install.
b) Many applications can be installed with homebrew casks.
e.g. brew install --cask docker google-drive intellij-idea microsoft-office
It's a bit annoying getting macOS system preferences synced still although.
In any case, I can assure you that behavior is perfectly "normal" to them, unfortunately.
[0] https://extensions.gnome.org/extension/1486/extensions-sync/
To install, I run `git clone https:github.com/username/repo && ./repo/install.sh`, and I'm off to the races. I really reccommend writing one for yourself, as it's a great way to learn shell scripts.
For me there's a trade-off, depending on how often I setup a new machine. Value of automating with a procedural script vs taking the opportunity to try a leaner (or more modern) toolchain.
Currently upgrade about every 2-3 years, so I do tend not to need a bunch of things each iteration, and might upgrade OS. But I'd like a backup in case e.g. hardware failure, laptop lost or stolen.
Some declarative workstation config like terraform or Ansible would be interesting.
With homebrew you can install most applications through the command line as well.
Not sure I understand, could you elaborate what you mean.
The first couple of releases of OSX are always a little rough around the edges. And then by the end of the cycle everyone proclaims how wonderful this release is.
See everyone next year !
[1] https://forums.macrumors.com/threads/safari-blank-page-bug.2...
https://www.zdnet.com/article/users-complain-of-mac-os-x-lio...
Back in the days OS X was a dumpster fire in terms of overall reliability until the very late releases of every major version. Some versions like Lion had pure crashes until the end.
Even looking a few years before, we had the root user password bug and other pretty severe issues way worse than what we’re seeing now.
Snow Leopard was as solid as OSX ever got in my estimation. Man I miss those days. Snow Leopard's primary goal was just to harden Leopard and not really have too many new features. Apple really needs to bring that kind of thinking back. I'm happy to see their hardware is back on track, now if they could just get the software to do a U turn...
Charging $300 for a screen replacement will make them more money. Selling bluetooth headphones with non-replaceable batteries will make them more money. Collecting taxes on developers will make them more money. etc etc
Also, it seems like a relatively easy memory leak to fix, hopefully in an upcoming OS update.
Looking forward to the fix.
We all do now
Given the similarities between both machines and application usage, I can't help but suspect some type of hardware issue is plaguing a percentage of machines out there.
Assuming the iCloud-enabled machine is the one with the problem, it seems odd to jump to the conclusion it's hardware? That's a lot of extra code running on the machine; not just iCloud itself but every single iCloud-aware app. There's a lot of additional potential surface area with iCloud enabled.
Edit: A recent reddit thread may have correctly identified the WindowServer leak being related to the amount of full screen video played. My impacted MacBook is often used for Netflix/Hulu content. https://www.reddit.com/r/apple/comments/qos5n5/memory_leaks_...
The Activity Monitor screenshot in the embedded tweet even explains what's going on. The system has 64G of physical memory. A bit less than 50GB is in use (so 14G is completely idle, wasted). 7G are wired (kernel, device buffers, etc.) and can't be paged. 38G are in used caching things for applications, and about 180G worth of compressed data (mostly zeros I'd say, since it's only using 5G of real memory) has avoided being paged out.
There is literally no memory pressure in this system, and no evidence of leakage in those numbers. Darwin deliberately tries to keep as much DRAM as possible live to minimise page-in and decompression costs; it literally can't find anything worth paging in or decompressing to fill those last 14G. That's a vacuum, not pressure.
I'm not going to debate the stability issues that the article author is complaining about; I do hope they have all of the crash reporting features enabled so that their crash data can be used by the various developers to help fix things.
But I would hope that before writing yet another stupid clickbait article, they pick a topic they know something about.
The 38G isn't "cached app memory" (there is no such thing), it's actual resident memory, calculated as the sum of the second column. The same as "RES" in Linux. There is no memory cache that differentiates apps from non-apps (whatever that is?), there is just regular file memory cache, which is labelled below the application memory section, shown to be using 13G.
Every file you open on your system (read: app you open, file that macOS accesses, etc.) will be automatically read into the file cache and left there until some event, such as not having any unused memory since all of it is used as cache, requires some contents of the cache to be evicted to make room for an application.
If this system had been low on RAM, this "Control Center" app would have been paging to disk to make room for the gigantic 26G it "needs" (the fact that it needs this much is a bug/leak. It should not be showing a number that high in that field, which is the resident memory required by the app.)
In summary, unused memory is meant to be used for caching files (see https://www.linuxatemyram.com/). The cache is lowest priority and almost considered "free" memory, in the sense that the cache can be evicted anytime to make room for actual application resident memory. In this case, "Control Center" is using 26G of resident memory, not cache (which is not shown in that column at all.) This is a bug/memory leak.
Second, I have one of the new new systems with a lot of RAM and when WindowServer takes up 20-30GB of RAM, and other apps take up 2-10GB more than they should, I see high memory pressure. There are other reports of this. Don't extrapolate too much from one screenshot showing a system shortly after reboot.
It's possible that most of the bloat from this bug gets pushed to swap and harmlessly stays there until reboot, to leave space in DRAM for actually useful application memory, but the typical user doesn't have guarantees of this based on the instrumentation available to them.
Apple is no saint in that regard, but at least the data footprint is less.
But does anybody actually care about this distinction?
If people want a catchy snippet perhaps: Google collects too much of your data, or Google profits from your data.
Over the past several months we've been very busy porting our Android- and Windows-based 3D Capturing app to iOS. We have quite a bit of OpenGL (ES) code that needed to be migrated. After a couple of initial hiccups things appeared to work well, however something was off. OpenGL code that's fast and completely unproblematic on Win/Android caused weird CPU stalls and after some minutes of app usage typically everything just crashed. After some digging and debugging it became clear that certain OpenGL function calls were leaking memory like crazy, as in several MB per call. Concretely I'm talking about glBlitFramebuffer() and glCopyTex(Sub)Image2D() . Both of these operate on frame buffers (memory that's often as large as your app window size) and they were internally allocating new buffers on every call and apparently never freed them.
Now of course this is iOS and the article is talking about MacOS but it's quite likely that Apple derived their M1-targeted OpenGL implementation for MacOS from the iOS version which has always targeted Apple SoCs.
Given the amount of OpenGL-based software still out there and Apple's deprecation of OpenGL in favour of Metal (they just don't seem to care any more) those kinds of large scale memory leaks don't really surprise me. OpenGL is still pretty much everywhere and if you have bad memory leaks in core framebuffer operations things start to accumulate very quickly.
FWIW, I notice the memory leaks particularly with “Control Center”, which is an Apple extension to the task bar. I wouldn’t expect any Apple-written code to be using any OpenGL; it should all be in Metal.
$ ls /System/Library/Frameworks/ | grep Carbon
Carbon.frameworkioreg -c IOGraphicsAccelerator2 -r -l -a
The PerformanceStatistics and IOReportChannels dicts are particularly juicy, and under IORegistryEntryChildren you can see which processes (IOUserClientCreator) are using what OS-level GPU resources, including Metal vs OpenGL API.
If so, try setting Mac to use the discrete GPU all the time and see if it keeps happening. MacOS flip/flopping between discrete and integrated GPU was an issue for me. I can only imagine what MacOS might be doing during development of a graphics app such as yours.
I used to do software development, running a million things at once and in decades I can't remember last time I saw the out of memory error. Sure, slow downs due to swap, but never straight up the error forcing me to kill apps.
On the M1 MBP, this error modal would pop up dozens of times a day. I would literally be constantly be quitting any app i'm not directly working on. It'd take a few days to get to this point, but at this point nothing other than a reboot would get it back to normal. The memory total for the apps running (plus the background stuff like Dropbox) was way below the built in 16GB, not to mention zero swap to SSD. Somehow there must be a leak in the OS.
Currently sitting at: WhatsApp Helper (Renderer) 3.57GB WhatsApp 1.37GB Dropbox 1.13 GB WindowServer 1.05GB etc.
This is not normal…
The sound device will just drop working randomly whether 3.5mm Jack or Bluetooth. Restarting the service sometimes works sometimes not, at first I thought it was MS Teams but didn't seem app specific.
Makes video calls painful knowing either sound or mic could just stop working at any time.
Apple's attitude towards endpoint security software is basically, "it's stupid and you shouldn't have them installed, our recommendation is to uninstall them" so that's that.
"Third party “endpoint security” software may cause slow simulators, system freezes, or prevent debug processes from running in simulators reliably. This sometimes manifests as debugserver disconnections or simulator applications receiving a SIGKILL signal. (55853555)
Workaround: Uninstall the third party software."
https://developer.apple.com/documentation/xcode-release-note...So far this has worked for me, and I'm able to get two full day's of battery life. I'm away from my desk far more frequently now.
Edit: My control center is using around 1GB of memory. Low enough that it wasn't causing issues but still concerning. It appears there is a memory leak somewhere, hoping a bug-fix is pushed out soon.
I have the M1 Pro Max on my to-buy list, but I'm going to wait a bit to make the purchase since I really can't have my $4000 workstation crashing on me.
Beside that, it's been fine though.
It ran on her 2012 Intel MBP and whatever dayjob MBP I had in the past.
I still have an Intel MBP provided by my employer. I don't keep a personal laptop, it would just gather dust 99% of the time.
We aren't attached to Apple, but finding build quality, battery life, high quality screen and likely to last 10 years is hard elsewhere.
Neon is certainly not a bad SIMD ISA, it's a quite orthogonal one.
You also have the AMX extension at hand, which is more special purpose but allow to deliver very high throughput. (on a regular M1: 350Gflops DGEMM, 1.2Tflops SGEMM, without leveraging anything other than the CPU)
Sometimes it just crashes. This has rarely happened on Linux. This sometimes happen on MacOS to the point where I don't trust it. At all. Ever. I have to save everything I'm working on constantly, just in case. Sometimes apps just stop working. Right now telegram just won't start. No matter what. Never happens on Linux. Sometimes it won't wake up from sleep. Never on Linux. Sometimes it loses the keyboard and/or mouse. This never happens on Linux. Sometimes the screensaver works, sometimes it doesn't. Grep is slow, waaay slower than on Linux. So are other random CLI things. How? Why? Docker... don't get me started, and don't make excuses. (~700 people at Mirantis and ~150k at Apple can't figure this out?) Everything runs slower on MacOS. Every. Thing. grep, sed, awk. Why don't sed, awk, grep, etc.. all the Linux things work quite right? I need to add something else on macOS to get them to work like they did on Linux. It's always "almost" but never do they work like I'd expect. I need to remember to turn off my monitor at night, because some nights it just randomly turns on. Never on Linux. Maybe it'll wake up, maybe not. I figured out if I unplug my headphones and/or webcam I can force it. All of these super basic things just DON'T work. It sucks. I could forgive Linux, but not an OS and Hardware made by the biggest company on the damn planet. I get it, this is faster than a 4 year old laptop. But that's not what I'm comparing it to. I'm comparing it to a 5 year old system I built myself from random parts that runs an open system operating system. That's a pretty low bar, and it doesn't win.
What's the appeal?
Clunkier and buggies depend entirely on which distro you are comparing it with, though I find clunkier at least to be true.
Buggier than linux WMs and desktops is a pretty high bar to beat, as long as you're not including homebrew in the equation (worst, most necessary bit of software for Mac ever).
It runs the software I need. full stop
I do not even think about these things on macOS or Windows.
At this point my time is too valuable for that shit. I used to fiddle a lot with my computers when I was 16. Now I want them to work.
I feel like many many engineers like me would easily get a reliable laptop with MacBook Pro like specs. The problem is that simply does not exist.
Excellent hidpi display.
Ryzen 5000 series CPU with its low power draw.
Good build quality.
Reliable support system.
Non weird components such that a recent release of popular Linux distribution would “just work” without needing manual tweaks.
In my experience, you get 3/5 in the above list at best. Framework laptop hits several of those points but misses out on Ryzen. Another contender on my list is ASUS 14 OLED with Ryzen - I’m worried about their support system though.
How is the trackpad?
[link redacted]
Probably not any better either. If you want to run docker on a mac you probably should not, but the second best strategy is probably to bite the bullet and run an actual VM in which you do your docker stuff.
Odds are a proper and well maintained hypervisor you keep running will be a lot better than whatever DfM does.
Probably, although you probably do still get better thermals and battery life with the M1 Macs.
About 6x worse perf in my specific case.
It makes the case for stuff like GiHub Codespaces or sshing into a remote machine via VS Code a lot more manageable. For everything else, the M1 is a beast, and even emulated, you can get a really good Linux experience (Windows too for that matter — games, obviously not withstanding), but containers? Nah. It’s worse than the already sad state on Intel Macs.
I've loved my M1 MBA but I purchased it specifically knowing I have a primary x86 workstation to fallback on for heavier tasks and I'll often give up trying to install some dep/run some program on the MBA and switch to that. It still works great as a general purpose device and I do some dev on it but if you're looking to do all your dev on it, I'd be cautious.
It's been this way since OSX day 1 IIRC, so it's a little surprising the apple versions are still apparently inferior (if the grandparent poster is anything to go by, haven't used em in years), but it's conceivable the CLI just isn't an apple priority.
I wish they'd just give up already and copy as much (of the CLI-relevant stuff) as possible from linux, and accept that they'll need to give up a tiny amount of control over a small sliver of their OS - a sliver that they never wrote in the first place and also can't really change the api of, because that would break all kinds of things, which renders their ability to close source somewhat moot anyhow. And most users never use this stuff! The linux-conventional gnu variants are well maintained and usable in both MS world and linux world - having CLI scripts that are more easily portable across three OS's would be great. Apple's toxic control-freak nature really hurts here, and mostly just their users. I really don't get it.
Anyhow, there are workarounds (but e.g. homebrew is hit and miss), it's mostly just an annoyance they're even necessary.
> They're basically achieving their dream now with Swift, though. I don't expect them to ever release that source. I don't think there is any precedent for Apple releasing source code after the fact.
I wonder, to what degree is this still the case today? Has Apple's position on Open Source changed in the past half+ decade?
[1]: https://gcc.gnu.org/legacy-ml/gcc/2005-11/msg00888.html
[2]: https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00...
[3]: https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00...
Accepting major changes like that isn't trivial; and a certain amount of NIH is healthy here. I mean, that's kind of apples motto too right? This was a technical patch set with unclear upside (if any), and potentially relevant cost - why would they accept that?
A better phrasing: They were unable to close-source an existing GPL'd compiler.
Apple is very fond of locking down their hardware. Google took a very strong stance against the AGPL-even banning it from their own public code repo service before they shut it down.
M1 Air here that I've had for almost a year with zero issues, and I also use Firefox and watch a lot of youtube.
ag and rg are other fast options.
The speed of GNU grep vs BSD grep is discussed on the BSD mailing lists here: https://lists.freebsd.org/pipermail/freebsd-current/2010-Aug...
It seems to be black and white: users either have no problems, or ALL the problems.
I started to get "the curse" after 8 years with my 2012 MBP. It started randomly turning off. Not crashing, just turning off! I replaced the battery because that was the only warning I was getting. But it can no longer run any macOS. Even mavericks. It crashes randomly. It went from rock solid to fragile as an elderly lady with osteoporosis rollerskating on a cobblestone path.
Now it is my primary Ubuntu machine since the touchpad works so much batter than Ubuntu running on my Lenovo Yoga and it has better performance. Zero turning off problems. It's been on for months running a VNC server.
I also don't see any memory issues, etc.
Most people don't give any sources.
If you mean how they work, like command line arguments and such (and not just speed), that's because macOS is based on BSD and thus using the BSD and not GNU versions. That's not really a "not right" thing, it's just different, and would be the same if you used any other BSD like OpenBSD, FreeBSD, etc.
I used GNU ones without the `g` prefix for a year or two and never ran into trouble because of it.
Take the example of 'tar' that slowly evolved and some time even changed its default behaviour. e.g. what to do when untaring a folder but there's already a symlink with the same name as the folder, do you erase the symlink and create a folder or do you untar the folder in the symlink? Between centos 5 and 7 this changed... Causing me some amount of pain.
hostname stopped supporting '_' in host names. Could have raised a warning, have added a '-pedantic' option but no.
hostname stopped assigning the permanent host name with the 'hostname myhostname' command and now you need to use hostnamectl. Could have left the 'old' feature and make hostnamectl whine instead, but no.
ifconfig the deprecated tool subtly changed the order of fields too and now the MAC address is not in the same place as before, breaking scripts that trusted that not to change.
df changed its syntax, adding or removing a new-line some time ago.
Yeah thinking back we shouldn't have used the standard tools and expected them not to change.
So, now, whenever I see in code review some bash person using 'standard' tools to get info that could be gathered through procfs or sysfs, I instead ask they use procfs, sysfs or ioctls and be done with it.
Take the evolution in /proc/meminfo that changed the meaning of some of the lines there over time (WTF?), whilst adding others (which was fine, expected, etc.). Of course I want now to include IO cache (that will be reclaimed if I ever needed to malloc) in my system's free memory indicator! Heh you can still get back the old value with this formula, what are whining about?
This 2 year old HN post shows the performance difference between Gnu grep and BSD grep on Macos:
sed 4.8 - 15 Jan 2021
awk 5.1.1 - 28 Oct 2021
grep 3.7 - 14 Aug 2021
What am I missing here?
That being said, Apple still knows their audience. I imagine there will be a lot of chronic Twitter browsers and Pages advocates who fall in love with this machine, and I think that's fine. I do have to wonder what constitutes a "premium" device if not for the hardware though. Everything I do on modern MacOS feels like it's prodding me to go spend $8 on a tool that I'd have for free on Linux or even Windows. Booting up Big Sur makes me long for my old a1502 running Mojave and handling some frankly ridiculous workloads while staying rock-solid in terms of stability. If anything, I applaud Apple for coming straight out and telling me that the future of their devices isn't for me.
That is delightfully insulting. Real developers would never use Macs, of course.
I'm curious what you mean by "raw performance"? I'm no Apple enthusiast, but AFAIK the M1 is the fastest laptop CPU on the market. There are faster desktop CPUs, but I don't think that makes it "a phone CPU shoehorned into a clamshell body" — it beats pretty much any laptop CPU in existence in the benchmarks I've seen.
Yeah, that’s so annoying. Wanna browse a .zip file (not extract it)? Either `brew install file-roller` with its non-macOS UI, or use shady paid shovelware. Wanna record your desktop audio as part of a screencast? It’s so complicated [0] and often involves shady stuff [1] or software that costs $99 [2]. What about Windows? There’s (mediocre) ZIP browsing support in Explorer since Me, 7-Zip is free and trustworthy, and OBS just has a desktop audio input built-in (and I also could do that easily in 2005). Linux? You’ll probably get a working archive tool built-in (file-roller, ark, whatever) and OBS desktop audio just works.
[0] https://billykorando.com/2020/04/14/capturing-desktop-and-zo... [1] https://www.youtube.com/watch?v=H4VPbMvBuLg [2] https://rogueamoeba.com/loopback/
It doesn't have to be a screencast, it's kind of a convoluted process regardless of which operating system you're using [1]. If I'm not mistaken OBS is using the built-in virtual loopback devices available through pulseaudio, but MacOS does not include a virtual loopback device by default, hence requiring a third party one such as Blackhole or loopback.
> ...and often involves shady stuff
...what shady stuff are we talking about here? Blackhole [2] is open source software. It's about as shady as any of the (several) linux audio systems.
Amusingly, this is exactly how I felt when using Windows.
Also, every browser tab with text entered was a random crap shoot if you were going to lose it by going to another tab to copy something and return to paste. Nothing was predictable, youor work was just constantly lost of the device. Almost no apps seemed to persist things when the OS forced them to shut down, except maybe the highest rated dedicated artist and note taking stuff. But even Apple's own apps (like the bug reporting tool) often didn't bother.
Did you actually tried to replace Apple garbage version of command line utils with latest one from GNU? It's kind a obvioius that OOTB version of utils will be much slower since Apple stopped updating GNU versions once license been changed to GPLv3. And BSD version of utils they ship with newer macOS is also usually inferior.
And by 2nd gen, I mean first update after a major redesign.
Why should all Unix implementations work just like Linux? What's so special about Linux? Why doesn't Linux work like BSD?
Just a random opinion. Others disagree and prefer the BSD way. Concrete reasons include code-base simplicity.
https://github.com/coreutils/coreutils/blob/master/src/yes.c
https://github.com/openbsd/src/blob/master/usr.bin/yes/yes.c
Take the example you provided, of yes(1). Most of the extra code relates to optimizations, and ensuring that the entire argv is echoed back rather than just the first argument. Because of this, even a very simple example like:
"yes hello world"
will behave differently on BSD vs GNU, with the GNU version likely being what users expect.
Lol why? Not everyone grew up on GNU.
> strictly superior
This isn't something you can quantify and say 'strictly superior' it's all just taste and opinions.
I didn't grow up on GNU either, but the GNU yes does everything I expect having used other unix systems.
> This isn't something you can quantify and say 'strictly superior' it's all just taste and opinions.
For a complicated tool, sure. But this tool is very simple. The GNU yes(1) accepts 100% of inputs that work on the BSD tool. It does a few additional things too.
Extra functionality is always better?
Then I can fork GNU, add extra junk options, and give you a strictly superior tool? Nonsense.
The GNU tools are the Homer Cars of UNIX. Not everyone wants that.
Here's the thing: GNU userland isn't some poorly designed aberration. It's by far the most popular unix userland in the world and is very commonly ported to systems which may do things differently. Almost every other unix has a distro to supply GNU userland tools on it -- no other unix userland can make the same claim.
Not everyone wants it, sure. Especially people with perspectives broader than the typical user. Of course. But it's the most popular system in the world -- not some weird never-used prototype.
And in the case of yes(1), I think you would have to try very hard to find a reason for a user of the tool to have a negative preference.
You likely can't, all the possible option flags already have some meaning. <:)
Not sure what you mean - you can get it to print whatever you want by passing that on the command line?
puts(argv[1]);The whole reason Docker exists makes complaining about its performance on non-linux operating systems asinine.
> Why don't sed, awk, grep, etc.. all the Linux things work quite right?
Because MacOS is BSD-based and those tools aren't "Linux" things. You can install the GNU equivalents easily if you dislike them.
> I could forgive Linux, but not an OS and Hardware made by the biggest company on the damn planet.
Software development doesn't particularly care about the fact that Apple is the biggest company on the planet. The pooled resources going into development of linux is quite substantial and yet it too still has plenty of software issues. LTS kernels can have hundreds of patches because software development is hard no matter how many eyes you have looking at it.
TIL there's a single "whole" reason Docker exists.
Please, enlighten me, what exactly is that reason?
If it's "to provide a standardized unit of software that allows developers to isolate their app from its environment, solving the 'it works on my machine' headache", I don't see how it makes expecting good performance asinine.
Linux's ABI is stable, MacOS can definitely implement it... there's nothing in Docker/Linux containers in general, forcing MacOS to incur virtualization overhead.
> When running on Linux, Docker uses the resource isolation features of the Linux kernel (such as cgroups and kernel namespaces) and a union-capable file system (such as OverlayFS)to allow containers to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines.[12] Docker on macOS uses a Linux virtual machine to run the containers.
Point being, Apple has zero barriers to making Mach look like an existing interface to userspace a la FreeBSD. They can take advantage of Linux's stable ABI and add the necessary Linux interfaces for native Linux containers support, and it could be performant.
The whole x86 on ARM problem seems like the more difficult one to make performant from where I'm sitting, but there's no shortage of claims to the contrary saying x86 emulation on the M1 is fast enough even for demanding video games.
To serve as an easier to use facade on top of Linux kernel virtualization options. It only works on Linux - or with an emulated Linux.
My maxed out 2013 Macbook Pro (the last model that runs linux without issue) has finally worn itself out and I’m in the market for a new laptop, but I can’t find a new laptop worth spending money on. I’m currently doing all my work on my desktop just hoping I don’t have to travel any time soon.
None of these things happen to people, much less altogether.
>Everything runs slower on MacOS. Every. Thing.
The experience of everybody who bought an M1 is everything (or almost) running far snappier.
>Everything runs slower on MacOS. Every. Thing. grep, sed, awk.
So, is it "everything" or is it "grep, sed, awk"? And what is your case exactly? Benchmarked them on the mac and on some Linux system with the same file? Maybe did it on a network attached drive?
>Why don't sed, awk, grep, etc.. all the Linux things work quite right? I need to add something else on macOS to get them to work like they did on Linux.
You seem not to understand this POSIX system or versioning. Apple has older (or BSD) versions of those tools. Use Brew or similar and install the GNU versions, which would be like you know them from Linux. Not that the BSD versions are broken, they're just different.
> What you describe is not a Mac Mini with some OS or HW bug, it's a broken one. Don't know what your issue is, if it is hardware, or it was pwned, or has 2-3 incompatible Rosetta apps wrecking havoc. But I'd get it replaced.
> None of these things happen to people, much less altogether.
> The experience of everybody who bought an M1 is everything (or almost) running far snappier.
Especially since there are reports of the same thing as described happening qll over the comments here.
I did not give due credit to the rest of the comment, it was quite well written. I apologize for that coldtea.
This is the GNU in GNU/Linux :)
I really like GNU coreutils, and other basic GNU utilities like GNU sed, find, and awk. I know some BSD folks see them as ‘bloated’ and ‘non-standard’, but to me they're plenty fast and they feel complete.
When I used macOS for a while for a job, it surprised me how much I'd come to rely on the features and behavior of certain GNU utilities that are apparently peculiar to them. But I miss 'em when they're gone.
I have Windows installed on it as a dual-boot and I cannot believe it when I log into Windows (Windows is definitely worse than Apple)... I just don't understand WTF happened over the past decade; Windows seems to have gone backwards. There is no way in the world I could ever use this thing and be productive. The interface is so clunky with title bars which use up all the valuable screen real estate. Difficult to switch between different windows. The cursor was almost impossible to use with the touchpad (it just feels unresponsive); astonishingly, I was actually able to get the touchpad working well with Kubuntu with the generic open source touchpad driver which came with it (it's extremely customizable).
Somehow, the narratives around open source software being inferior quality always seem to be disproved in the long run. While the quality of enterprise software tends to degrade overtime (as big corporation financial politics and bureaucracy creep in). Open source projects are free from toxic financial incentives so they tend to keep improving over time.
However, I can't find a decent machine which will last for 4 5 hours on battery, and it is important. My brand new Thinkpad T14 lasts less than 3 hours, and I am on minimalistic setup with only few apps running. Tried all kinds of power management tweaks.
OTHER thing is the issue with the microphone on external devices in Linux which is pain, which is why I always have to use my phone for calls.
> That’s extremely similar to the MacBook Pro and Monterey issues I’ve read this week—except I’m still running Big Sur.
Maybe there is more than one issue here, but Intel users having the same issue on Monterey where they did not have it before seems telling. Maybe M1 machines had a different OS build or features that caused this issue in Big Sur and now it's universal in Monterey?
If such an issue were to occur on iOS without a crash, would anyone even notice? There's no real way to monitor RAM usage, and the failure mode is less clear (slowdown, issue with responsiveness, followed by likely reboot).
If the leak was in some part of the system, maybe a problem, but I'm sure they test pretty rigorously, and get enough crash reports to figure things out fast with that many devices in the wild, all in pretty constant use.
For myself, I just got the new M1Max 14-inch MBP, and it's quite nice.
I had to remove my Thunderbolt docks (I have a range of docks, including ones purported to be "Thunderbolt 4") from the video chain. I have found that the computer seems to lose track of what is where, if I have a dock in the loop.
I like SwiftUI. It shows a lot of promise, and I look forward to releasing products, written in it. I don't think it's especially mature, and maturity is important, when you need to release ambitious projects.
I'm not really in a hurry, though. I'll be getting around to working in SwiftUI, and I tend to do well at the things to which I apply myself.
I also do this, but I wonder is it a bad idea? Is Activity Monitor enabling any extra logging that itself is slowing things down further, or is it just subscribing to already enabled events?
I'm on M1 MBA 16GB and I get the out-of-memory errors too. It's still a world of difference from the 2016 MBP I upgraded from.
As touched on in another comment, the problem might be the 8 desktops and 20 Firefox windows I keep open.
It would be ironic if Activity Monitor itself were causing a memory leak.
I also think windows task manager is fairly efficient and TBH more useful with their full system state graph view. You have to click one resource at a time to see system state of your memory, cpu, etc and there is no GPU graph like windows.
Rather than working with Activity Monitor open 24/7, just install iStat Menus. Makes it really easy to monitor your system.
It just feels the OS is designed for different, more recent hardware. I have been using Mac since 2010 and that wasn't the case in the past. I paid about $3,000 for this device. I am not happy and considering Linux/Windows.
* I wonder if this is more prevalent when the hard drive is approaching full capacity? It would be interesting to see the breakdown between physical and swap when it happens.
* Has anyone observed these seemingly random memory leaks while not running anything under Rosetta 2?
https://macperformanceguide.com/blog/2021/20211029_0832-digl...
b) If your speakers sound bad then it could be dust or debris. Might want to unscrew your Mac and use a blower / vaccum cleaner on it.
These situations are interesting. My M1 13” will occasionally get a stuttering cursor that only goes away with a restart. I haven’t had this problem in over a decade on any computer.
I know I’m not unique in this because of the number of threads on the Internet on the issue.
Interesting to see the odd interactions between software and hardware. Though this sort of bug does put me in mind of how in Minecraft when Notch fixed light transmission through glass, it would start raining through it too.
Been a constant experience for me from 2001 when I first started using.
I think even quantifying memory pressure on Linux is relatively new
https://www.phoronix.com/scan.php?page=news_item&px=Linux-Do...
macOS' behavior under high memory pressure is much more graceful IME
Maybe a leak in a Max/Pro-specific kernel component? I assume Control Center depends on some hardware-specific kernel modules.
Seems to be related to video tag and according the comments here people are on YT or other sites that have videos embedded.
Further, I wonder how much of their vast resources might Apple be pouring into making a new OS without these problems.
But I also regularly leave dozens upon dozens of tabs open and use multiple heavy IDEs...
Upgrading to 16GB was enough to fix it instantly and I no longer have the freezing/crashing issues, so I'm surprised 64GB machines are running into it
Browsers are generally the biggest culprits for memory usage. Random tabs will leak memory and before you know it some news article page is using 1GB, your GMail is using 1GB, etc.
I don’t think it’s a wholly unfair assessment. You can get away with more when the memory management stack is smart and fast, but in the end if you need 9gb of ram and only have 8gb you’re going to know it. Most people just don’t (at one time).
So I got it knowing as soon as the 16GB dropped in stores I'd replace it
Based on other comments: try not using chrome. I don't and I have 0 issues iwht this.
I've noticed worst applications for this are those built on the Electron framework (MS Teams, Slack, Evernote).
% uptime
23:27 up 9 days, 11:24, 4 users, load averages: 2.19 2.77 2.91
:) so no issues here.For many years, the press kept HN a secret and wouldn't even link or mention it as source. Presumably to keep HN from falling into mainstream. There were lots of times you could tell they got it from HN, or even screenshot without mentioning the site.
But for the past 2 years it seems more and more mainstream media are giving direct links.
I could only wish the first rule for mainstream media is to not talk about HN. But then I guess it is too late.
How is this possible ? The M1 MBP is only available since October 26.
Man up Apple and release Apple Silicon drivers for Linux.
Mac hardware is nice, but it’s not that nice. Except for maybe the trackpad.
I'd like to use one of those Mac Minis as a homeserver/homelab and macOS is the only thing standing in the way. Similarly, I doubt there is a non Apple laptop that matches the M1 Macbook Air's battery life to performance ratio, specially in that form factor.
I know Asahi linux exists but reverse engineered drivers will never be as effective/performant as official drivers. Porting drivers to Linux won't even be expensive for Apple. They refuse to do it just cause theyre Apple.
I bought an M1 max laptop and I’m almost tempted to go back to my Linux machine because of several issues I have with macOS. There are things that are by design like mandatory animation delays for things like switching spaces and going in/out of fullscreen, which are borderline dealbreakers for me given how often I do those things. And there are also things I suspect are either bugs or straight up performance lapses, such as scrolling through text in a terminal at 4k being slow if you have ligatures enabled.
I could go on, but I think it’s a perfectly valid sentiment (regardless of whether or not they were venting) to wish for mac hardware with a Linux OS.
It's very likely future software updates can help address these issues.
Honestly, the machines haven't had wide deployment in the field for all that long for Applications as huge as Photoshop. It takes time to discover, fix, and redeploy things like Photoshop. And it's not like Photoshop never leaked memory on an x86.
There is. People have been running ARM macOS for about a year and I haven’t seen this complaint before.
That’s extremely similar to the MacBook Pro and Monterey issues I’ve read this week—except I’m still running Big Sur ... It’s possible that macOS isn’t managing this unified memory structure properly, and will continue to allocate RAM beyond what is available without freeing up RAM that is no longer needed. This is commonly referred to as a “memory leak.” Performance gradually deteriorates until you need to either wait for the RAM to clear, force-quit the app, or restart the machine ... it’s entirely possible that Apple fixes it in a future version of macOS without ever addressing the issue publicly. That’s what happened with the excessive SSD usage earlier this year, though that Apple says that was a “data reporting error” and not an actual problem. The memory bug is an actual issue that needs to be fixed as soon as possible.
It is made worse by the fact M1 MacBooks are limited to 16 GB of RAM, non upgradable of course.
So yes, it is a software problem, and it will get better, but the M1 is particularly sensitive to it.
Can you be more specific here? It seems natural that a system with limited memory doesn't tolerate memory leaks very well.
If it helps at all, the comments you're complaining about are even more tedious to write than they are to read.
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&so...