I’m surprised that nobody has issues with the memory measurement methodology.
Tons of people in the comments on the post do, but IMO it doesn’t matter much, as long as every desktop is measured the same way.
It kinda does when people react with “OMG Plasma uses 2.2GiB!!!11”
I guess. I’m more interested in the relative ordering, which seems to stay consistent across measurement methods, than in the absolute numbers.
I find the process list weird, unless bsd has different defaults:
I get an feeling there was some settings pollution between those runs.
I would say … exactly! Its just FreeBSD with these environments installed. Why KDE or MATE (or XFCE) stars these processes? What for? I do not know. I did not added anything to the system or GUI startup by myself. IMHO its broken/needs attention why these ‘pointless’ services are started automatically without user interaction … but I am not the one that will fix that - I just showed realistic usage with all these DEs installed on a FreeBSD system.
Let me rephrase this. I know what those processes do and I’m not surprised by (for example) kalendar on KDE. What I’m surprised by is services running with DEs they don’t normally belong to. Which makes me wonder about how the test was run.
Can you confirm that the DEs were installed separately on a completely clean system and not all together? My theory is that they were not and in the results we see stuff left by one DE counted towards another one. But I’d love to be proven wrong.
That was the point of the test. All DEs/WMs are installed at once on the same VM. I do not know why one DE will gonna try to start some stuff from other DE … that sounds strange at least to me - but if that is their will - I will not stop them.
That’s just not representative of how people run the system. You’re not comparing DEs if you’re not cleaning state between them - and it’s not obvious if you read that post just for the results. It’s a fun gimmick test, but the title is misrepresenting what’s being tested there.
“I threw the kitchen sink into a vm, let’s see what various DEs end up running” would be more true. If you compared it to a clean install of that DE that would be even more interesting!
My interpretation of ‘rules’ may not be Your interpretation of ‘rules’.
I agree with You that if I would deliberately start other DEs services - that would be cheating.
The only thing I loaded was ‘pure’ KDE or XFCE and nothing else.
I did not added any other services to FreeBSD’s /etc/rc.conf or other places.
I personally use Openbox with apps from all possible DEs - like Geany, LibreOffice, Okular, pdftk, Firefox, Caja, Thunar, xterm, sakura, urxvt, Deadbeef, Sayonara, Chromium, VirtualBox and a lot more.
I do not limit myself to only one DE or framework like QT or GTK - I just use apps. These apps are installed using FreeBSD’s pkg(8) package manager.
The reason they are on the disk seems ‘crazy’ to - for example that KDE loades XFCE libraries/apps … I would say: “what the fuck for if you are complete desktop environment?” … but that is one of the parts I wanted to show.
If that does not play with what You had in maid … then I check other them mine articles in that topic.
I don’t think using Kate was right for this comparison. It’s a lot closer to a full IDE than geany or mousepad. I think a lot more fitting comparison would be KWrite, at least feature wise, but I’d expect it to use a lot less resources as well.
I also used Geany (IDE) with Openbox.
I also just checked what is the difference between Kwrite and Kate. Its only 8 MB RAM.
% top -b -o res 1000 | grep -e kate -e kwrite -e RES
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
1071 vermaden 5 20 0 354M 191M select 0:08 0.00% kate
1054 vermaden 6 20 0 348M 183M select 0:08 0.00% kwrite
Hmm, interesting, Would’ve expected more of a difference.
I imagine that, unless you have a project open along with several documents, various plug-ins activated and all that, most of the resources Kate takes are the resources it allocates via Qt and whatever kdelibs is called now to build up the interface, internal settings tracker and so on, with very little additional internal state. The two applications are pretty similar and in their default state, without any bells and whistles, they start with pretty much the same things – a bunch of common widgets (menu, toolbars whatever) and a text control. Eight megs of extra state to keep track of various things that are either not enabled or not in use sounds about right :-).
kate and kwrite use the same editor component, katepart.
Great review, I’d be curious to see some very lightweight but still usable (practical?) wms in there too. My favorite being i3 but seeing some of the *wm (twm, cwm, etc.) as well
I write about desktops quite a lot and someone always seems to comment about comparing them with window managers.
WMs are not the same thing at all. A WM is part of a desktop, along with an app launcher, and an app switcher, and maybe a desktop manager, and a file manager, and a bunch of accessory apps that should look and work in the same, harmonious way, and some kind of global settings tool, and a lot of fit and finish and integration.
TBH I’d expect any plain WM to use a fraction of the memory of any desktop, and the differences between WMs should be rounding errors.
IMHO it’s like comparing a bicycle to a Humvee. If it’s not using 1% of the resources then something is badly wrong with it.
One tangential thing that made me pause after reading the update at the end of the article: In a world where we can’t even know for a fact how much memory something actually uses with measurements differing by a factor of 3x depending on tool used, why do we care about memory usage at all? The numbers feels superficial to me anyways.
What matters in the end is perceived performance and responsiveness during a specific workload. And that one’s very subjective too of course (which would also explain the other observation in the article about xfce being considered lightweight compared to Gnome)
I can’t say it’s a big deal for everyone, but I work in an office with a lot of older hardware. The computer I use every day only has 8GB of RAM, but system performance starts to drop greatly when it reaches around ~7GB of RAM in usage. When I first came to my current job, heavy browser usage lead to a lot of blue screens on Windows 10.
I have been using Linux on this same computer, and minimizing the RAM usage helps my performance greatly. I still see struggles when I get to that 7GB threshold, but it’s usually because I am pushing the computer to the limits with GIMP, and I try to actively close out memory-heavy things when it starts to struggle. Because of i3-wm, I am able to do my job a lot better with less computer worries.
Not a general-purpose solution, but: if you haven’t tried out zram-swap you might give it a look. Obviously using swap memory isn’t preferable to just keeping everything in RAM, but letting programs page out into compressed swap should still be faster than killing + re-launching them by a good margin.
Where swap gets you into trouble is when you’re continually context-switching and paging entire processes in and out continuously, trying to keep an unsustainable workload going. If you can avoid that death spiral, a bit of paging here and there really shouldn’t be that big a deal.
Also: browsers. They’re gonna eat substantially more RAM than GIMP in most day-to-day usage. If you can run any dedicated apps (email client, doc browser, native IRC/XMPP/Matrix client vs. all the browser or Electron apps) that could save you several GBs of working memory. (Even if they use a browser engine under the hood for e.g. rich text rendering, they won’t be loading MBs of background worker JS code, assets, etc. just to idle on a background tab.)
Another suggestion in the exact opposite direction: earlyoom (https://github.com/rfjakob/earlyoom), which starts killing programs before you start hitting swap. Saved my bacon a few times. You can also configure it to preferentially kill certain processes.
Re browsers, I have made good experiences with OneTab, which lets you, at the click of a button, convert all your open tabs into links in a list. Satisfies my hoarder instinct without consuming RAM.
When not using a tiling window manager, my go-to has always been Openbox + XFCE panel + Thunar. Openbox is nice and lightweight, but XFCE panel helped bridge the gap of automatically filling out the application list and other panel widgets that don’t play too well with lightweight bar options out of the box. For a media server/Steam box where typing is less used, this has struck the balance of less resources and functionality.