The Verge reviewed the latest Surface Laptop, which only comes with 8GB of RAM at a higher price than the previous 16GB model, and they conclude that Windows isn’t really usable on 8GB of RAM. Whether that’s true or not I do not know – I would assume it depends a lot on your usage – but this quote from the review I found quite peculiar:
I was on a Microsoft Teams call (using the app, not a browser) when the host streamed a brief video, which made the whole laptop hang for several seconds. At the time, I had about 10 Chrome tabs open across two desktops, alongside Slack and Signal — not an obscene level of multitasking.
↫ Antonio G. Di Benedetto at The Verge
Excuse me, but that is actually an obscene level of multitasking because every single one of those “applications” is a complete Chrome browser. Just in the paragraph above, there’s four individual complete Chrome browsers running, with little to no optimisation. Why would anyone be surprised this scenario strains a mere 8GB of RAM? This isn’t merely a Windows problem; this is a programmers choosing suboptimal tooling × managers have no idea what they’re doing problem.
If Teams, Slack, and Signal had been proper, native applications instead of websites running in terrible frameworks, Windows 11 would have handled this scenario just fine.

The only silver lining to the RAM supply crisis might be it forces developers away from these bloated frameworks.
sloth,
I made a similar case that the steam machine not having better specs could have a silver lining: it could influence game developers to target lesser specs. But the fundamental assumption is that machines afflicted with lesser ram must carry enough weight to actually “penalize” publishers that don’t support them well. I’m not sure that’s the case for windows computers. Steam survey may not be completely representative, but regardless they have the vast majority of computers at 16GB system RAM or more. Realistically the 8% of the market with 8GB RAM may not be that compelling of a target.
https://store.steampowered.com/hwsurvey/En
Software publishers are notoriously uninterested in optimizing, especially when those impacted are just a small minority.
Alfman,
I’m not sure what happened. My wife had a 4GB Lenovo laptop for years, until the hardware gave up. Despite my constant skepticism, Windows 10 actually worked okay on it.
Everyday web browsing, word, excel, and that kind of stuff. Basically what we used to do on Windows XP back in the day, sans gaming.
This was not too long ago. The 8GB should be more than enough, unless one does heavy gaming, content creation, or similar.
Its as Thom says, these programs are now disproportionatly just one use web browsers. I dont run any of those sorts of provrams and my linux laptop with 4 gigs of ram works fine for doing my office work on. My 8 gig laptop also running linux handles pretty much anything not gaming fine. But the moment you have to run a whole 4 web browsers at a time for your 4 programs its going to run like arse because all modern web browsers are resource hogs in the extreme
If they had been websites running as tabs within the normal browser, instead of running their own totally separate browser engine they would have used significantly less memory too.
Not sure how that would be doable…
Even tabs within the same browser instance should be sandboxed and this alone eats tons of mem. It would require, lets say, your Teams binary to have visibility to the browser process, etc
Then again, for Teams and Office, I already run them from within browser tabs. Since Teams became a webapp, theres no point in running the standalone version, for example.
No, even sandboxing takes advantage of copy on write. Granted, the browser code itself is a minority compared to the 30,000 animations leaking memory each frame of their individual bespoke javascript renderers, but it still adds up when each page (“app”) has its own browser too
Thing is, such a use does not strain the MacBook Neo, so whatever Apple is doing, it’s working much better than what Microsoft is doing.
Lest we forget, it’s not just 8GB, it’s 8GB plus swapping to a high-quality SSD. This is not 2006 anymore, when your RAM was your limit (because swapping happened to a slow 5400RPM hard drive).
So, either Windows 11 uses too much RAM just for itself (leaving too little unswapped address space for applications), or it doesn’t do memory management and swapping as well as MacOS. In either case, Windows 11 needs to do better.
kurkosdr,
I wondered about that too. The article shows the following SSD speeds (doing my best to format for in the limitations of wordpress).
I agree with the author, I don’t like having so little RAM the system swaps under modest loads, however the tasks mentioned really should not have overwhelmed a system with 8GB RAM. It is normal for RAM become nearly full as it gets used for caching. This shouldn’t automatically be cause for alarm as long as the memory gets freed when more RAM is needed to avoid swapping.
It used to be that installing retail versions of windows gave us a lean and mean unbloated OS, but unfortunately this is not the case anymore. Microsoft have become more guilty than the OEMs ever were peddling bloatware. It wouldn’t surprise me if the real culprit is some damned microsoft background process. The RAM might be a red herring.
I disagree about the obscenity of this multitasking.
1) This is a machine that costs 30% more than a comparable APPLE product. At that price it should be able to stream video smoothly no matter what is happening the in the background.
2) A machine like this should have been tested against common use cases before being released to a reviewer. Having a web browser and a couple electron applications open while taking a Teams call is pretty vanilla.
3) As others have noted, a Mac with 8GB of RAM doesn’t have this problem. Electron is one problem but an OS that can’t manage memory effectively is a bigger one.
4) The issue here may not be the RAM. This Surface “features” an ARM CPU and Windows on ARM is a miserable experience no matter how much RAM you throw at it. If any of these applications were x86 applications running via whatever MS considers a compatibility layer, I’m surprised it only hung for ten seconds instead of catching on fire.
Brainworm,
This hadn’t occurred to me, but now that you say it I find it could plausibly explain the delay. It’s easy to see how starting a video stream will load new resources and the x86 emulator may have to recompile a lot of code when that happens. While the author clearly blamed the RAM, more testing may be needed.
At least upgrading RAM is an easy fix. Just swap a new SODIMM into that unsoldered RAM slot…
Oh nix that, that’s the old way. Upgrading hardware is passe, we’re in the future now!
Can’t blame people for buying laptops with soldered-on RAM, most people want a laptop that has the portability and lightness of an iPad but also has a keyboard. However, the moment you have to put a SO-DIMM slot on the logic board, you’ve more than doubled the thickness of the logic board.
I understand upgradeable GPUs on gaming laptops (something Nvidia killed by sabotaging the MXM form-factor, and Dell killed by sabotaging their own DGFF form-factor), but upgradeable RAM on a thin-and-light is harder to justify.
The designated way is to install more RAM than the intended user will need, but in this blasted timeline where the RAMpocalypse makes RAM more expensive by the year, we can’t have that.
kurkosdr,
Of course that’s the issue. It’s very easy to justify upgradable RAM if you only have the bare minimum to begin with.
Agree on most points, but the x86 translator is actually pretty decent. Windows has had a problem since maybe around Vista where Microsoft still has some amazing systems engineers, but they just can’t possibly compensate for the web developers writing everything at the UI toolkit(s) and above.
You can see it running vmware on the cheapest mac mini, windows games even can run well. The bad CPU hurts Windows’s starting point, and then the straws keep building up until the React-based start menu fractures the anemic camel’s back
quinn,
I agree, there’s a lot of 3rd party bloat. There’s not much microsoft can do if 3rd party software is inherently inefficient.
When it comes to the x86 translator there are two separate aspects that need to be considered. One is the normal runtime overhead of the translated code. My guess is that there’s a 5-20% penalty. It will never be as good as native, but it can be good enough. The other source of overhead is when the code translator itself is running this has to interrupt normal execution until the translator is finished and would happen for dynamically loaded code as well. This could explain the delays experienced by the author.
I totally agree with you Thom.
Feels great.
“there’s four individual complete Chrome browsers running, with little to no optimisation”
My understanding is the Chrome EXE/DLL binary code is read only executable.
The operating system should be able to map 1 physical page of read only executable ram into 4 different process address spaces.
While there are 4 processes, there should be a significant amount of ram sharing. So the physical memory required would not be 4 times as much as 1 process.
If operating system is working correctly, the amount of ram used by 4 processes would be almost same as 1 process with 4 threads for each web page.
The OS has to be aware that the code is the same, usually this means shared libraries. If each instance comes with its own set of libraries and executables then no sharing goes on because the OS treats them as distinct files.
Linux has KSM (kernel samepage merging) which scans memory for identical pages and merges them which could partially mitigate this, but windows doesn’t have anything like this.
Of course the more the different versions of chrome diverge, the less pages will be identical anyway.
bert64, please check your comprehension skills.
I specifically referred to “four individual complete Chrome browsers running”. And the original article was about an “average” Windows user.
Then you go off on a tangent and talk about different libraries/executables??????
“Different versions of chrome diverge” ….
You really failed to understand the original story. 99% of windows users have 1 version of chrome installed on their windows computer. So you brought up totally irrelevant information.
Please try and stay on topic in future.
tom9876543,
I hope you take this with some humor, but I actually think it’s you who misunderstood Thom. He’s referring to applications that include their own browser engine along with the application. Electron has become a popular framework for creating these types of applications.
https://www.digitalcitizen.life/what-is-electron-and-why-so-many-desktop-apps-feel-slow-and-heavy/
https://www.thefastcode.com/en-try/article/what-are-electron-apps-and-why-have-they-become-so-common
Ouch, such harsh words…it’s going to be tough to retract them. But if you re-read bert64’s post it should make a lot more sense now.. And yes ordinary people are installing these applications, just as the author did.
I don´t say that’s not important but I bet that EXE/DLL binary code is a relatively small part of the memory consumption.
Alfman, it seems both yourself and bert64 didn’t read the quote at the top of this web page.
“I was on a Microsoft Teams call (using the app, not a browser) …… At the time, I had about 10 Chrome tabs open across two desktops, alongside Slack and Signal
My post clearly was about the 10 CHROME (not Chromium) tabs.
bert64 and yourself went off on a tangent.
MS Teams + 1 binary copy of Chrome + Slack + Signal ( + Windows) would hopefully fit into 8GB of RAM but sadly it seems it doesn’t.
Thank you for the detailed explanations of how these Electron apps are built. I agree they are very wasteful.
However I never claimed MS Team / Slack / Signal could share read only executable pages.
tom9876543,
End users naturally don’t think of the “app version” as a browser, but that doesn’t mean it’s not technically there. Once we understand that these apps ARE browsers, not necessarily by name, but certainly in function, then it should be clear why a user saying “not a browser” does not dismiss the relevancy of bert64’s analysis. Hopefully we can move forward with the shared understanding that there are multiple browser engines running regardless of what users call them!
It’s not uncommon for browsers to idly use 1GB+ of RAM just because it’s available even if it’s not doing anything particularly critical. So the 8GB filling up quickly doesn’t surprise me in the least. Even so though, So far I’m not entirely convinced memory was necessarily the bottleneck here. In theory all of those browser instances should be able to garbage collect and free ram before the system degrades with more expensive swapping.
Still, we can’t rule out much because the author didn’t provide much in terms of data.
Nothing’s conclusive. Other background processes like defender and/or x86 emulation interruptions are possible too. More testing is needed to find the root cause but unfortunately I don’t have the hardware to test this on.
bert64,
I created a new user and then launched one instance of chromium. Homepage is set to blank and it loaded no websites or plugins.
I understand it distributes load across processes, but OMG I am stunned at how memory it takes just to open a single empty browser window. I shouldn’t be though, this is normal for modern software.
I have 29GB free. if this was only 1GB I’m pretty sure chromium would start to activate more garbage collection cycles. But wow, this shows how rapidly just a single copy of a browser eats up free RAM.
IIRC Electron apps ship with their own copy of the Chromium engine. So it would be easy to have four *different* versions of Chromium spread across the browser and three Electron apps, depending on how recently each app updated its copy of Chromium.
“Why would anyone be surprised this scenario strains a mere 8GB of RAM? This isn’t merely a Windows problem; this is a programmers choosing suboptimal tooling × managers have no idea what they’re doing problem.”
Managers know very well what they are doing: this problem is caused by software developers (the companies) systematically choosing to offload their development cost to system resources on customers’ systems.