Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

senttoschool

macrumors 68030
Original poster
Nov 2, 2017
2,628
5,484
1655792545623.png


Anyone serious about software development should most definitely upgrade to 32GB of RAM.

For me, I run the following when I write and test code:
  • 2x Typescript watch Node.js services
  • 1-2x React Node.js servers
  • Go server
  • VS Code
  • Chrome tabs + Chrome dev tools
  • Communication channels including Slack, Whatsapp, Discord
  • TablePlus database tool
  • Notion for note-taking
My M1 Pro with 16GB of RAM struggles sometimes with stutters - especially when Typescript does its thing. I noticed that I'm almost always beyond 16GB of RAM usage and swaps are always used.

If you do software development for a living, and you plan to keep the machine for a while, go for 32GB of RAM at minimum.

I planned to wait until M3 before I upgrade but I'm considering upgrading if/when M2 Pro hits and getting a 32GB machine instead.
 
You don't even need to fire up a couple of VMs so your memory usage could even be lower compared to other developers. I'm using 32GB M1 Max for now and I could still see yellow memory pressure if there are lot of VMs in the background.
 
If I may be pedantic:

Software development is more than just Javascript. You could get away with 16 gigs on different languages for different purposes!

Embedded device programming comes to mind readily. A buddy of mine does that work on an old thinkpad running ubuntu.
 
You probably have external screens attached also looking at the memory usage of window server? The memory on the M1 is used both for graphics and for programs, the older Intel ones with dedicated graphics cards could fare a bit better in that.
 
  • Like
Reactions: yitwail
View attachment 2021757

Anyone serious about software development should most definitely upgrade to 32GB of RAM.

For me, I run the following when I write and test code:
  • 2x Typescript watch Node.js services
  • 1-2x React Node.js servers
  • Go server
  • VS Code
  • Chrome tabs + Chrome dev tools
  • Communication channels including Slack, Whatsapp, Discord
  • TablePlus database tool
  • Notion for note-taking
My M1 Pro with 16GB of RAM struggles sometimes with stutters - especially when Typescript does its thing. I noticed that I'm almost always beyond 16GB of RAM usage and swaps are always used.

If you do software development for a living, and you plan to keep the machine for a while, go for 32GB of RAM at minimum.

I planned to wait until M3 before I upgrade but I'm considering upgrading if/when M2 Pro hits and getting a 32GB machine instead.
Seeing that pressure in yellow is unsettling.
 
View attachment 2021757
Anyone serious about software development should most definitely upgrade to 32GB of RAM.

For me, I run the following when I write and test code:
  • 2x Typescript watch Node.js services
  • 1-2x React Node.js servers
  • Go server
  • VS Code
  • Chrome tabs + Chrome dev tools
  • Communication channels including Slack, Whatsapp, Discord
  • TablePlus database tool
  • Notion for note-taking
My M1 Pro with 16GB of RAM struggles sometimes with stutters - especially when Typescript does its thing. I noticed that I'm almost always beyond 16GB of RAM usage and swaps are always used.

If you do software development for a living, and you plan to keep the machine for a while, go for 32GB of RAM at minimum.

I planned to wait until M3 before I upgrade but I'm considering upgrading if/when M2 Pro hits and getting a 32GB machine instead.
Absolutely. And if you plan on keeping that machine for 5+ years, 32GB is really mandatory for future apps and OS updates (24GB would be ok in some cases IMO).
Also, if you need to fire up a VM and set 8GB of RAM for acceptable performance, there goes half of your system memory if you only have 16GB.
I think M2 Pro would be better for you, as it has a beefier CPU for your demands.
 
  • Like
Reactions: kc9hzn
LMAO. Apparently OP thinks RAM is supposed to sit there unused.

It doesn't matter if your Mac has 8 GB or 128 GB. The Mac will use every bit of available RAM on purpose because it is designed to. That's what it's there for. What's the point of having RAM if the system doesn't use it?

I love when people post this and think it means they barely have enough RAM, when it is literally the system working as its designed.
 
LMAO. Apparently OP thinks RAM is supposed to sit there unused.

It doesn't matter if your Mac has 8 GB or 128 GB. The Mac will use every bit of available RAM on purpose because it is designed to. That's what it's there for. What's the point of having RAM if the system doesn't use it?

I love when people post this and think it means they barely have enough RAM, when it is literally the system working as its designed.

Just because the system is 'working as intended' doesn't mean the system is working fast. OP's workflow might 'work' on 8GB but it won't be fast enough for someone that cares about reducing as much system stuttering as possible when working.

The memory pressure graph is a hint. OP is clearly not the guy with one tab open on a 32GB machine complaining about not enough memory.
 
Pretty sure you can manually configure Nord and avoid the UI. So there's a free 500MB for you.

You should try Scala or Java/Kotlin development + Docker. I usually have to reserve 4GB of RAM of IntelliJ alone and any servers are likely to take more memory than Node processes. I presume Xcode is also rather hungry, but I hate it so never bothered.

16GB was the sweetspot for development about 5 years back. So these days 24GB would be nice, but I have my hackintosh for anything that's memory hungry or needs VMs.

If you really need to run those services, use something like surge.sh or some other simple service you can push to. Likewise you could stop running Dropbox, Discord, and WhatsApp -- they aren't necessary for development. Instead, open them when you need them.
 
LMAO. Apparently OP thinks RAM is supposed to sit there unused.

It doesn't matter if your Mac has 8 GB or 128 GB. The Mac will use every bit of available RAM on purpose because it is designed to. That's what it's there for. What's the point of having RAM if the system doesn't use it?

I love when people post this and think it means they barely have enough RAM, when it is literally the system working as its designed.
That matters not if the system is slowing down due to too much Swap. At that point your memory pressure is the clear indicator you need more memory. Sticking to 8GB because it's designed to is just plain wrong.
 
Don't have your experience and run way more than this with Node and more. Not that that would mean much, however, a suggestion would be to use containers instead of this.

Using MacBook Pro 13 M1 with 16GB.
 
Would the situation improve with Deno instead of Node?
No idea. Typescript tooling is Node.js based. I don't think one can just simply switch to Deno.

You should try Scala or Java/Kotlin development + Docker. I usually have to reserve 4GB of RAM of IntelliJ alone and any servers are likely to take more memory than Node processes. I presume Xcode is also rather hungry, but I hate it so never bothered.
Nothing against Java but Node.js for simple CRUD and Go for anything process-intensive is the current standard in my industry.

Also, Typescript itself spawns a Node.js service for type checking. Nothing I can do about it.

LMAO. Apparently OP thinks RAM is supposed to sit there unused.
No, that's not what I said. I said it's stuttering and apps are opening slowly.

I actually ran 8GB for a similar setup to this when I only had an M1 Macbook Air. It was quite miserable. I thought 16GB would be enough but it's just barely ok. I always have to think about closing apps to free up more memory.

Configuring a custom Macbook with 32GB of RAM could delay shipping by weeks/months. It sucks that Apple doesn't always sell 32GB as standard off the shelf.
 
If I may be pedantic:

Software development is more than just Javascript. You could get away with 16 gigs on different languages for different purposes!

Embedded device programming comes to mind readily. A buddy of mine does that work on an old thinkpad running ubuntu.
Oh for sure. I mainly use Go but Typescript is pretty much a standard in my industry.

We're not in the days of one single server doing everything anymore. We have to spawn multiple servers/microservices/VMs on local machines. Most people will encounter this kind of setup in modern day software development.
 
Fair enough. I waited and did my research, and watched a lot of YT dev channels and read the comments, trying to work out my RAM requirements, and also waiting to see if there was any major issues. Eventually just recently picked up a 16" M1P MBP with 32GB/2TB. So far so good, but haven't had to use any VM's yet, so fingers crossed it's enough. I will be furious if it isn't.

Influencing my wait, was that I had a mate who got one of the very first M1 MBA's with 8GB when they first came out. He immediately discovered that 8GB isn't enough simply if you use a lot of browser tabs (regardless of which browser he tried), but there wasn't any availability for 16GB without a wait, and he'd already sold his old Mac, so was stuck with it. He's half thinking about an M2 MBA with 16GB, but the jump in price is making him pause on that idea.
 
That matters not if the system is slowing down due to too much Swap. At that point your memory pressure is the clear indicator you need more memory. Sticking to 8GB because it's designed to is just plain wrong.
This. Although used RAM % is not a good indicator (will usually be around 80%), if there's swap then that means you're actually running out.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.