This week I noticed that the Snap Store app on my Ubuntu 20.10 laptop uses a tonne of memory, even when it’s not running — we’re talking more memory than the main GNOME Shell process uses, and that is always running!
Naturally I assumed something in my config was to blame. I do make heavy use of Snap apps — don’t worry I use plenty of Flatpak and PPAs too. I’m pretty polyamorous when it comes to packaging formats 😉 — and I did install using an Ubuntu 20.10 daily build.
Therein lay bugs. I know the caveats. All good. Don’t mind. Whatever.
Curious as to how much memory the Snap Store should be using under “normal” conditions I booted up my Ubuntu 20.04 LTS install. This, I thought, would give me an accurate figure to compare against. That way I could see whether this was “extreme”, “expected”, or somewhere in betwEen.
But guess what? It showed the same thing! Admittedly the Snap Store’s idle memory usage wasn’t quite as large on Focal as on Groovy, but it was still the premiere RAM gobbler on my system.
Again this is all before I’ve even opened the app. Or asked it to do something. Or heck, even looked at it!
How Much Memory is Too Much?
Ubuntu 20.04 LTS introduced a Snap’d version of the Ubuntu Software app (referred to as the ‘Snap Store’ in packaging). Snaps do have a reputation for being slow and stodgy so I wondered if, maybe, they was at fault.
Alas no. The high memory usage “issue” predates the switch to the Snap build and it affects users of the non-Snap’d, non-fork’d GNOME Software, even on other distros. While it’d be easy to blame Snappy—I know many will want to—it wouldn’t be accurate.
A few followers on Twitter asked why I’m troubled by a core system component using hundreds of megabytes of memory to (seemingly) do nothing.
And they have a point: memory is there to be used.
When I say the Snap Store (and GNOME Software) is using a lot of memory I mean it comparatively. 400MB on an 8GB system for an app that I haven’t even opened, on a cold boot is… comparatively high compared to other processes I have running.
And on dinky little devices like my 6-inch microPC higher RAM usage equates to shorter battery life—and I value battery life on that industrious little device so very much. Thing is, none of my devices have expandable memory. They’re all stuck at 8GB.
Which leaves me wondering if what’s to blame here isn’t GNOME Software (a complex package manager using 400MB memory when idle) but my expectations of how much memory is “too much”.
So how much memory do you think an app store frontend should use?