24 ms·
Linux Desktop Environments System Usage
- sph 4y agoAh, some good food for thought for those new Linux users that have no understanding of software engineering and caching. Because most engineers know that memory usage of different pieces of software does not mean very much. It is very possible that that a DE boots into 100 MB, and then it's usage grows to absurd level while it is being used due to poor coding or architectural practices, while another DE might use 500 MB at boot, and then not increase very much because all its core logic is contained within this amount of memory. Many enthusiastic people entering the Linux world, the type that run neofetch and post it on Reddit every time they jump to a new distro, are always really interested in the RAM usage figures, as if they were a real indicator of "bloat". While I immensely appreciate how clearly it defines the methodology of this comparison, posts like this are a good way of keeping that dumb practice of running `free` after boot and drawing conclusions alive.
- wjnc 4y agoExactly. Please, pretty please, use all my memory for even trivial tasks. Just make my system snappy and carry me while under load. I've got 16 cores, please use them. Use them a little bit smartly since I pay for power. Perhaps, don't write as much as you could since my SSD is the first part to die. The most memorable increase in happiness for me was when Ubuntu Gnome went fully high refresh rate. Things just felt faster after that. I'm pretty sure that is nowhere near the same ballpark as the HDD-SSD transition of a decade ago. And still, it's feeling that counts. (I do look back fondly on the whole optimizing Windows XP installer to 42MB of a few decades hence, but that's not where productive people go.)
- itvision 4y agoI did _not_ just run `free` after boot, maybe you need to reread the methodology. As for RAM leaking - I cannot and I will not account for that: such a test could take weeks to carry out. In my experience modern Linux DEs do not leak that much - people normally do not interact with their DE (yeah, I'm not joking) anyways - you boot into something, e.g. Gnome and you run your applications (e.g. web browser, spreadsheet, terminal emulator, media player, instant messenger, etc. etc. etc.) and your DE is running happily in background.
- sph 4y agoYou interact with your DE whenever you create a window, switch to another, press the Super button, right click on the desktop, get a popup notification, hit your media keys, and in a decreasing way the more you move towards the Window Manager end of the spectrum. So of course I would expect fluxbox to use less memory than KDE, because fluxbox doesn't do anything if I press the volume keys (please correct me if I'm wrong, I haven't used it in a decade) Does that mean that fluxbox and all of its associated tools are going to be as snappy during real usage? You can't certainly know by just analysing the RSS and shared memory size of the fluxbox process.
- itvision 4y ago> You interact with your DE whenever you create a window, switch to another, press the Super button, right click on the desktop, get a popup notification, hit your media keys, and in a decreasing way the more you move towards the Window Manager end of the spectrum. Most of this is handled by a window manager. Again, most users launch their favourite set of applications at the start of the day and run them until (if) they log off. And the average programmer is no different: a web browser, IDE, terminal emulator, Telegram and Slack all running non-stop.
- sph 4y agoIt's not so clear cut. Your kwin process uses the KDE libraries and facilities, some of which are used by Dolphin as well. It's a mesh of interconnected and communicating processes via IPC, unix sockets or shared libraries, not standalone islands. Firefox might show a native printing dialog that's exposed in some core code loaded when you logged in. In fact the line between DE and WM on a bigger desktop gets blurrier, especially in the Wayland era when your WM is actually also your compositor, so handles all your windows and their positioning, input dispatch, permissions, etc.
- itvision 4y agoIf we go down this route no comparison will ever be "valid". That's why this is strictly for Fedora 37 as of December 11th, 2022. :-) If you have your own distro resuts to share, I will happily add them to the article.
- pmontra 4y agoI remember sysadms in the company I was working for 20+ years ago. They've been managing HPUX and Solaris systems forever and we suddenly added a bunch of Linux servers for an application delivered by my team. They gave me a call one day. "Those Linux machines were at 100% RAM so we doubled it. They are still at 100% RAM. What's your software doing?" I guessed that the system management software on HPUX and Solaris was clearer about the distinction between memory used by applications and memory used by the file system cache, because I remember that file system cache was a thing even in HPUX and all the other UNIX flavors I used at university ten years before.
- sph 4y agoIndeed. Free RAM is useless RAM and a waste of actual money. If everything I use is magically always in RAM with no swapping ever, I don't care if I'm constantly at 100% usage. That's what I bought it for. We're lucky we are unable (AFAICT) to have real stats on L2 and L3 cache recency utilisation.
- krageon 4y agoI would say most engineers know high memory usage without a clear cause correlates strongly with poorly written software, it's likely to be slow and shit.
- whalesalad 4y agoAs a long time Linux user I can appreciate what you are trying to communicate here - but it comes off as kind of abrasive and harsh. Those kids playing with their machines, running neofetch, 'ricing' their desktop - they are the future of this ecosystem. You can either alienate them or try to shepherd them, I think we need to try the latter.
- msla 4y agoI'd be interested to see how Window Maker compares.
- 2000UltraDeluxe 4y agoRelatively speaking, it should be somewhere around IceWM's levels.
- tux2bsd 4y agoProbably less.
- pjmlp 4y agoIt was already supper snappy in 1997 hardware, and since it hardly has changed since then, I would say it compares fairly well.
- reacharavindh 4y agoI’ll never understand the logic behind “high memory usage” as a metric for desktop environments.. If you had the hardware, would you rather see it used or see it dog slow trying to load UI components from disk? I can understand the idea of using memory used over time as a proxy for how featureful/bloated something is, but, blind monitoring of memory usage seems pointless to me. At best it can be a capacity metric - “if you have only 2 GiB of RAM on your machine, you’re better off with XFcE vs KDE, but on a machine with 8 GiB of RAM, would you not rather see it being used?
- scarygliders 4y agoSome people can use some quite RAM-hungry applications, therefore the more RAM available to those the better.
- onli 4y agoNot some people - everyone uses a web browser.
- scarygliders 4y agoIndeed, that is included within the subset of "quite RAM-hungry applications" :)
- mdp2021 4y agoSince we read that, there is a high chance (not total)... This page weights in the staggering order of 16MB on Lynx!
- zokier 4y agoI'd imagine most people running RAM hungry applications would have enough RAM so that saving single gigabyte is not really relevant
- c-cube 4y agoI'm horrified by the words "saving a single gigabyte". What have we come to? Wasting a billion bytes is a small deal now? :-/
- lifeisstillgood 4y agoThe sad part was the request for clicking google ads as a form of patreon support. I would happily get an advertiser to pay a few cents per click but I could not see any ads. It just brings home the impact of sanctions - Putin does not need patreon support but someone actually making a small contribution to understanding is rather stuck.
- guest1111 4y agoThat's exactly what sanctions are for.
- lionkor 4y agoTo punish and limit people without the resources to circumvent sanctions effectively? I hope not - it wouldnt make me motivated to fight my own government, if it tells me that all the sanctions are proof the government is doing something neccessary. It seems to me like sanctions miss the point of what propaganda on the affected side can turn it into.
- deleted 4y ago[deleted]
- yellow_lead 4y agoConsidering asking users to click ads is against Google Adwords TOS, they probably got banned.
- itvision 4y agoI've run this website for a over a decade and looks like donations are just not a thing. People happily click Google ads though so at least there's something. Something which garners around $50 a ... year.
- lionkor 4y agoI couldnt find a donation link/btc address/anything on the site, and I looked :/ might not be such a bad idea! you can always ask for btc donations, or something, at least. The very top of your page is a big ad - if that was an inoffensive "support the author and this work", it might get you more than that top ad does
- mdtrooper 4y agoI still think that the desktops eat a huge amount of resources. Win98 ran correcly with 32mb and you had more or less the same features of nowadays desktops.
- anthk 4y agoFVWM ran under 8MB almost as fast and it had far more features window-managing wise. On "the same features".... no. Not even close. No Unicode, no CJK input with IBUS, no GVFS/Kio for thousands of protocols and devices (MTP), no memory protection...
- tux2bsd 4y ago
- anthk 4y agoWin98 was a turd. Even SE crashed a lot. No memory protection. No daemons to mount zillions of remote drives or USB devices with GVFS/Kio. Guess why NT based OSes used far more memory. >Firefox - SJW_crap = better,smaller,faster,securer. But SJW_crap became their primary objective so we're doomed... IE+Active X+OLE+Windows 98 = malware haven. Firefox supports audio/video securely, and even WebGL support. And WASM. Yes, you could do that with Flash and a Pentium III with Street View, but your computer was an ad-ridden malware epidemic party.
- tux2bsd 4y agoYou've chosen to miss the point, and you're also comparing sand to ice. win98lite, was windows install modification for win98 to remove some stuff so you could play computer games more while you weren't defragging your hard drive. Wakey wakey.
- anthk 4y agoI know w98lite. My first Windows OS was W98SE. And, guess, what? Often tuning some registry keys gave me more performance than blindly using W98lite.
- deafpolygon 4y agoI'm curious how Sway WM and i3 ranks here.
- itvision 4y agoI guess they are similar to what IceWM shows.
- Liquix 4y agoPurely anecdotal - i3 + picom idles around 350MB while tiling wayland compositors (sway/hyprland) idle closer to 500MB
- rch 4y agoCold boot to i3 and launch Alacrity: bash-5.1$ uptime 08:38:18 up 1 min, 1 user, load average: 0.18, 0.06, 0.02 bash-5.1$ free -m total used free shared buff/cache available Mem: 63997 674 61498 129 1824 62579 Swap: 8191 0 8191 bash-5.1$ cat /etc/fedora-release Fedora release 35 (Thirty Five)
- bsdice 4y agoArch, i3, RSS sizes, only counting processes from logged-in user: 2.6 GB ungoogled-chromium (Browser) 150 MB kitty (Terminal) 50 MB udiskie (Automounter) 46 MB picom (Compositor) 36 MB pulseaudio (Sound) 26 MB gpaste-daemon (Copy Paste) 21 MB polybar (Bar on top of screen) 20 MB dunst (Notifications) 17 MB i3 (WM itself) Plus a bunch of services below that, which at this point is only noise. If palemoon works for you as a browser, that will only use 320 MB RSS empty on startup. Machine has 64 GB RAM, no idea if Chromium by design would eat less on less beefier machines. At 4 GB RAM, zRAM is certainly an option, if you can't or don't want to upgrade. Without such tweaking, modern Linux desktops profit from 8 GB RAM. No matter what WM or DE you run. Once you start a web browser, game over. ;-)
- jawadch93 4y ago[dead]
- haunter 4y agoWhat’s the difference between MATE-Compiz in Fedora and the vanilla MATE you find in other distros, like Debian?
- unmole 4y agoPresumably vanilla MATE uses Metacity instead of Compiz.
- pantalaimon 4y agoIt actually uses Marco, which is a fork of Metacity
- bembo 4y agoWasn't compiz renamed to picom a while a go?
- LAC-Tech 4y agoWhatever happened to LXDE? Not sure if the whole team went with LXQT, but I really liked the old one. Still use lxterminal every day.
- zozbot234 4y agoStill supported by Debian and Fedora (as a separate spin). You should also be able to add it as an alternate session in Ubuntu and its derivatives, though it's not directly supported at install. In practice though, you may find that installing some Xfce apps gives you similar performance to the LXDE originals with more up-to-date features and bug fixes. (This will be especially true as GTK+2 loses distro support over time - there may be no benefit to running LXDE-gtk+3 over Xfce.)
- trabant00 4y agoWhile memory usage is not a perfect metric of how "bloated" a piece of software is, I would't say it's useless either. That memory isn't just sitting there, it's being read, written, moved, meaning the software uses it to do things which also take up CPU and other resources. There is no escaping that doing more stuff in the background means less prioritization for your active usage so the software feels (and is) slow to respond. Now if that background/automated stuff is useful to you then that's that, you can't have something for nothing. But if you don't care for most of it I don't see why you would keep it around and not benefit from a snappy system. If you've never tried using a window manager instead of Desktop Environment give it a try, it's extremely simple and you can have both in parallel. See if you miss anything from DEs, I for one don't.
- rawoke083600 4y agoNo i3 ? :S It's like the LISP of DE :D
- natrys 4y agoNo that would be StumpWM or EXWM :D i3 would be like Vim - embeds a too crippled configuration language, therefore needs to do IPC for anything serious.
- ciupicri 4y ago> Sawfish is an extensible window manager using a Lisp-based scripting language. Its policy is very minimal compared to most window managers. Its aim is simply to manage windows in the most flexible and attractive manner possible. All high-level WM functions are implemented in Lisp for future extensibility or redefinition. [0]: http://sawfish.tuxfamily.org/ http://sawfish.tuxfamily.org/
- jonas-w 4y agoi3 is technically a WM and not a DE and they compared DE's.
- Schlaefer 4y ago*on Fedora Now do it again on a different distro which packages different default apps and services, and see how these values differ by multiple hundreds of MB.
- itvision 4y agoConsidering we have many dozens of distros and ten of thousands of their permutations (different "spins", desktop environments, etc.) this test is always going to be distro specific. I chose Fedora because of its freshness, proximity to the source (Fedora prefers to apply as few patches as possible vs. e.g. Debian/Ubuntu) and readiness. You just install it and start working.
- Schlaefer 4y agoThat's fine, but the disclaimer is important. I did a quick test for myself by choosing what's at the top over at distrowatch(tm). - Fedora plasma ca. 1.4 GB (matching your numbers) - MX Linux plasma ca. 600 MB - EndeavourOS plasma ca. 800 MB Considering the significant difference you either have to go into more details or make that disclaimer prominent.
- itvision 4y ago"Fedora" is mentioned prominently in the comparison. Not sure if I could do more :-) Could you show the top output for your distros? I wonder why there's such a huge discrepancy.
- Schlaefer 4y ago> "Fedora" is mentioned prominently in the comparison. Not sure if I could do more :-) My bad, I only read the title here and never parsed behind the parenthesis on the original page. Nonetheless the overall language seems to put a lot of weight on the different desktop environments, not the spin/distribution choices. > Could you show the top output for your distros? I wonder why there's such a huge discrepancy. This is from MX Linux: https://pastebin.com/7drT8LWt https://pastebin.com/7drT8LWt Not activating the whole Akonadi PIM subsystem by default should easily free two or three hundred MB on KDE. Not sure about the rest.
- prima-facie 4y agoJust FYI a new release of XFCE is imminent starting this week. This is version 4.18, coming out two years after the last release. https://wiki.xfce.org/releng/4.18/roadmap https://wiki.xfce.org/releng/4.18/roadmap
- vermaden 4y agoMy take on the same subject on FreeBSD: - https://vermaden.wordpress.com/2022/07/12/desktop-environments-resource-usage-comparison/ https://vermaden.wordpress.com/2022/07/12/desktop-environmen...
- itvision 4y agoComparable results though everything in FreeBSD is like a gig more for some reasons.
- nix23 4y agoIt's a bit a unfair comparison because you have include the ZFS-Arc AND Inact ("buffer" in the other test). Also tested under virtualbox = less drivers, buffer flushed, pipewire linux, pulse-audio freebsd? and so on...it's hard to compare those two test in this way.
- vermaden 4y agoThat depends what you use to measure. At first I used RES column from FreeBSD top(1) command. Here are results for the same desktop environments from other tools: | htop(1) | conky(1) | freecolor(1) ------------+---------+----------+------------- FreeBSD | 112 MB | - - | 157 MB Openbox | 237 MB | 460 MB | 382 MB MATE | 508 MB | 778 MB | 788 MB XFCE | 533 MB | 794 MB | 829 MB helloSystem | 585 MB | - - | 830 MB GNOME | 625 MB | 990 MB | 1000 MB KDE/Plasma | 730 MB | 1659 MB | 1167 MB This table above is also at the end of the blog post. So as You see depending on the used tool you may get REALLY different results while having the same components started. Regards.
- viraptor 4y agoIt's not a great comparison, the environments seem to be mixed together rather than installed clean / separately. For example xfce lists mate-screensaver and kalendarc - I don't think you'd see that on a pure-xfce system.
- 4y ago
- lynx23 4y agoI use tmux and emacs -nw as my desktop environment. Measure that! :-)
- LoganDark 4y agoDoesn't Emacs depend on about 200 other packages?
- lynx23 4y agoI build my Emacs without ann GTK/X11 support. So no, not for me. But the GUI part has its dependencies, as has every gui program...
- LoganDark 4y agoWell, for me it seems to have tons and tons of... Lisp/Perl dependencies? I don't exactly remember what they were, but when I installed it on a bog-standard Ubuntu Server box, the list of dependencies filled my entire terminal.
- lynx23 4y agoMost of Emacs is written in Lisp. So calling Lisp a "dependency" just reveals that you dont have much of an idea what you are talking about. Thats OK, I ramble along sometimes as well... As said above, most of the dependencies you saw from Apt in Ubuntu were libraries from the GTK/X11/GUI ecosystem. I used to run my Emacs as PID 1, so frankly, the dependency problem isnt really a problem...
- LoganDark 4y ago> Most of Emacs is written in Lisp. Sure, Emacs uses Lisp with absolutely no packages/libraries at all. That is believable. > So calling Lisp a "dependency" just reveals that you dont have much of an idea what you are talking about. OK, bye, this is not any way to have a discussion.
- drpixie 4y agoThat's how to do a comparison :) Clear and straight-forward explanation, results, and no time-wasting video. Well done.
- itvision 4y agoThanks. For those who are interested you can download the source images at the bottom of the article. People have been questioning applications/services/daemons running in background for each DE - you can check that.
- Adverblessly 4y agoOne thing that was missing for me was how you checked RAM usage, since a similar previous comparison that was posted on HN actually measured something different than what most people expected. Since you helpfully posted the source images I checked to see what you did :) I saw that you used the output of "free", which I think is not what most people think of as RAM usage (IIUC it reports the total virtual memory in use). I usually look at the output of `smem -atk` and look at total PSS. See https://lwn.net/Articles/230975/ https://lwn.net/Articles/230975/ for a clearer explanation on that.
- itvision 4y agoI completely flushed system buffers prior to getting the results (echo 3 > /proc/sys/vm/drop_caches), so the free RAM that I posted is indeed absolutely free yet it cannot be reused.
- account-5 4y agoI'm running fluxbox, I recently switched from xfce (which I've been using for years and was my go-to). I have to say I'm very impressed, simple and easy to use, certainly MX Linux's set up is pretty flawless. Like a halfway house between traditional and tiled window manager.
- Roark66 4y agoI would be fine with high memory usage if it was almost all shared memory, but what really annoys me is that it isn't. Also the lack of cross platform UI toolkits(not just Windows-Linux cross platform, but really such that they integrate with KDE, gnome, xfce, and anything else as well as Windows). Take just one example, system tray. There is no common interface for it. Same with many other things. Don't get me wrong, Linux in the desktop today is usable, but it leaves a lot be desired.
- itvision 4y ago> Take just one example, system tray. AFAIK in X11 there was one http://standards.freedesktop.org/systemtray-spec/systemtray-spec-latest.html http://standards.freedesktop.org/systemtray-spec/systemtray-... . Wayland however doesn't have an API for it yet.
- vetinari 4y agoAnd hopefully never will. Systray is a wart, abused by too many applications. They should take the android approach, background tasks that cannot have UI and have to communicate with a frontend, which for a change cannot be left hanging in background. In other words, if you want something in background, make it systemd user service, so the user can use standardized tools to enable/disable/start/stop it. None of that nonsense, where apps keep running after closing all of their windows and resisting to quit (like Skype does).
- wander_homer 4y ago> In other words, if you want something in background, make it systemd user service, so the user can use standardized tools to enable/disable/start/stop it. That would be sufficient if the "standardized tools" provided a similar UI and user feedback for those background tasks. Sure right now I can already have my file synchronization tool run in the background with a systemd service and manually use `journalctl` or `GNOME Logs` to monitor its state, but that's a far inferior user experience than simply having an icon in the corner of my screen which immediately tells me the state of the file synchronization and also allows me to quickly alter its settings. So as long as those standard background tasks are so tedious to monitor and interact with, I'll keep using the "nonsense" status tray icons.
- ogogmad 4y agoEven if it's "bloated", I've found KDE to be a far more usable DE than Gnome. KDE provides you with more features than you need (or thought you might need), but everything's made discoverable, so you don't mind. Gnome relies on extensions to meet the bare minimum, and they break after each update. Once you add the extensions, I think Gnome ends up more bloated than KDE. Don't know about Xfce and the other stuff. It's not an apples to apples comparison.
- petepete 4y agoWhat GNOME extensions do you need to provide 'the bare minimum'? I use none and it's fine for me.
- cerved 4y agoauto hide the toolbar
- 3836293648 4y agoAutohide? The dock only available in the overview by default. Ubuntu is far from vanilla gnome
- lionkor 4y agoFor my wife, coming from Windows, it was quite a few things. With KDE, there were only small changes in the settings ui (like alt+shift to switch language, which gnome doesnt allow, needs a plugin)
- ho_schi 4y agoUse ReactOS or buy a license from Microsoft for Windows and accept it drawbacks. Or provide a well introduction into Linux and KDE and allow the user to excel :) GNOME is not an alternative to Windows. Linux is an operating-system for its own, building upon UNIX and Plan9. Especially Systemd is giving Linux a very own foundation. That said, we don't apply Emacs shortcuts on VIM because it degrades the provided features and make usage even harder. Humans are pretty good in adapting - one of our best features. An analogy - don't try to ride bicycle like a car. It won't work. PS: Best results with GNOME are with novice users. GNOME tends to be very keyboard centric and allows focus on your applications. These novice users don't try to apply usage patterns learned on Windows.
- Joel_Mckay 4y agoInteresting, MATE should be under 400MB or less if you do not enable optional HUD or tray resident applications. Even in 64bit, it ran just fine on a pi2b with 512MB ram, and was about 340MB at boot-up with marco (no colord, HUD terminal, or evolution mail etc.). The issue arises in how linux reuses ram pages for shared objects. While you may have many processes... the actual incremental program size can be very small. One of the many reasons oversized kernel ram cache/buffer sizes can help with performance (often as high as 40% on small flash memory io-constrained devices). A heavily customized MATE on Ubuntu LTS OS is part of the standard developer platform I recommend. This takes a bit of effort, but there are benefits to having everyone on the exact same hardware, OS, and compiler version. i.e. cloning/repairing a workstation snapshot takes 30 minutes.
- itvision 4y agoFedora results are somewhat bloated given the presence of packagekitd but since all the spins run it, you can still make valid conclusions.
- Joel_Mckay 4y agoFedora and its community derivatives can be problematic for developers... as the security-policies, application and driver-support can sidetrack projects. Better for DNS/db/key servers, if you aren't allowed to use *BSD because "reasons". Sometimes a hardened system is not ideal when you are trying to debug something complicated already. Something like alpine-linux is also intended for specific uses-cases.
- mk_stjames 4y agoI have Ubuntu 20.04 running MATE on a RPi 4 8GB and I have to say it is pretty damn sluggish. I need to dig under the hood more to lighten it up, because even with a quad core at 1.5ghz and 8gb ram... the window system and just general menus and movement feels slower than an old Win2K machine I had with only 64MB of ram at 266mhz. I had to enable the outline-of-window-only when moving or resizing because just moving a firefox window on the screen drops the FPS to a slideshow.
- cerved 4y agoThis site is not mobile friendly :(
- itvision 4y agoI've tested it in Firefox development mode using Samsung Galaxy S20 as a mobile device and it looked fine. Google Mobile Tester doesn't report any issues either: https://search.google.com/test/mobile-friendly/result?id=mj_wMxCD40Q6tS3DKcrGvQ https://search.google.com/test/mobile-friendly/result?id=mj_... And Bing says it's 100% mobile friendly as well: https://www.bing.com/webmaster/tools/mobile-friendliness https://www.bing.com/webmaster/tools/mobile-friendliness
- jgilias 4y agoTo the author. The wording you use in the text may get you banned from your source of income, as it’s against their terms to do that. Not mentioning any brand names, as I’m paranoid that might trigger some tag based thing somewhere and lead to the ban. There are still ways to get donations to Russia. Look at what popular opposition Telegram channels do regarding this. Crypto-hate notwithstanding, this would be a legitimate use case.
- wereallterrrist 4y agoDid you maybe comment on the wrong post? I'm so confused what you could be referring to.
- jgilias 4y agoNope, I just read the text along the graphs carefully :D
- alganet 4y agoXFCE continues to be one of the best bangs for one's buck. I would like to see stats for it with the compositing disabled (it feels faster for me).
- ainar-g 4y agoA surprising thing is that the gap between XFCE and MATE isn't large. Maybe it's because of the modern GNOME 3's initial infamy, but I kind of assumed that MATE would be a bit more of a resource hog, but I am very happy to see that it isn't!
- alganet 4y agoYes, indeed! I'm tempted to give it a try.
- graymatters 4y agoThe comparison is missing sway/Wayland and i3/X
- betamaxthetape 4y agoI still use LXDE, the predecessor to LXQT, on my daily driver: a Thinkpad T420 (~12 years old) with 8GB RAM. Low resource usage is the main reason I use LXDE. I often need to run several (4+) VMs, each of which can eat up to 2GB RAM. (These are headless VMs running specialist networking software). When running all of them I need to be really, really careful not to use up all my RAM because if I do, my system just freezes. Everything is stuck - cursor, clock, applications, etc. At this point my only choice is to reboot. I don't know if this is due to a poorly-configured system (isn't swap supposed to prevent this?), but it certainly makes me much, more aware of memory usage. It's also nice to be able to use the same base system (Debian + LXDE) on my modern T420 as well as a Pentium 3 laptop with 128MB RAM. I don't think I'd be able to say the same with KDE or Gnome!
- SomeoneOnTheWeb 4y agoSwap is indeed supposed to prevent this AFAIK. You can though try some tools like EarlyOOM and see if it helps : https://github.com/rfjakob/earlyoom https://github.com/rfjakob/earlyoom
- mhitza 4y agoOn SSDs heavy swapping is still somewhat bearable. But I assume on your system you only have spinning disks, so your only option is to reboot, or to leave the system alone for a while until it recovers. Unless you want to go in an configure a more aggressive process killer in case of OOM (and also zram/zswap could help if you or your distro haven't configured those yet in the base installation).
- anthk 4y agoInstall ZRAM. Also, check an option (or for KVM) at Virt-Manager to enable the shared memory if you spawn identical VM's, it will save up lots of RAM.
- RunSet 4y agoI clicked through eager to see LXDE curbstomp all comers but alas it was not included in the results. I use LXDE because it responds when I click its widgets. Every other desktop environment, by comparison, has a noticeable lag when responding to user input- despite using more memory. Wassup widdat?
- valeg 4y agoKDE is so nice rn. Dolphin, Okular, KDE Connect, Krita, Kate, solid software and foundation.
- DoingIsLearning 4y agoOk this has been bugging me for a while... how the hell do you show a file transfer progress in Dolphin?
- valeg 4y agoMy Dolphin shows a notification in the taskbar.
- marmarama 4y agoMy Ubuntu KDE installation uses ~700MB RAM at idle with a fresh login and I've been using it with Wayland for years now without the problems the author describes. My Steam Deck KDE uses ~1.3GB, more than half of which is taken by the baloo_file_extractor process. Apparently doing background indexing of file contents gobbles RAM. Not sure if that's the problem with the author's setup?
- thomond 4y agoHe's included screenshots of top. It appears he has akonadi installed which from my experience is a huge memory consumer. It's the first thing I uninstall on new builds.
- marmarama 4y agoAh, I missed the zip file with the screenshots in. Yes, Akonadi loves RAM. I'm a bit confused as to why it's installed and running by default in this case - is this a Fedora-ism? I don't think Kubuntu or Arch install it by default, it's only installed as a dependency if you install elements of the KDEPIM suite. FWIW, after baloo_file_extractor finished indexing new files on my Steam Deck, it exited, and KDE RAM usage was down to ~600MB.
- thomond 4y agoYeah, it's a bit old fashioned IMO. It comes with CD/DVD ripping software and an Office suite for example. It seems to be aimed towards Office users rather then home users. I always uninstall most of the default software.
- riskable 4y ago> Yeah, it's a bit old fashioned That sums up Fedora and Red Hat's other stuff pretty well.
- leeoniya 4y agomy KDE/Plasma on EndeavourOS sits at about 1GB after boot. (4k display scaled up to 1440p) yes i also disabled baloo file indexing as it was randomly chewing cpu and ram. no real need for it with a fast NVME and ripgrep, etc.
- rmrfchik 4y agoWhat on earth requires to eat 1.5 gig of RAM? I'm writing this under KDE 22.08 and plasmashell took 700m RES. KWin 180m RES. Why we were able to server the same windows in 90 with 64m RAM total, now window manager requires 180m. No composition is running. Functionality basically the same, no user experience breakthrough. And yet.
- itvision 4y agoThat's `free` -> `used`, not RSS for individual processes. You can download the source images which include `top` output if you're interested.
- rmrfchik 4y agoFor original article yes. I'm showed RES from my setup. This is ridiculous.
- marmarama 4y agoModern WMs and desktop shells use way more memory because they cache more bitmaps (we now render text as bitmaps and composite them, and the drawing styles/themes are now much more than flat gray fill with the odd non-antialiased line), and because the bitmaps are far larger due to much higher resolutions and bit depths. A single uncompressed 1080p 32-bit (24-bit with 8-bit alpha) wallpaper is 66MB of RAM. A similar single 4k wallpaper takes 265MB RAM. All those fancy-looking high-res 32-bit icons also take huge amounts of RAM.
- Vogtinator 4y ago> A single uncompressed 1080p 32-bit (24-bit with 8-bit alpha) wallpaper is 66MB of RAM. I think you mixed up bits and Bytes there. 1920px * 1080px * 4 Bytes/px = 8294400 Bytes = 8100 MiB. For 4k it's the quadruple.
- marmarama 4y agoI'm an idiot, you're right. There, it's on record. I claim under-caffeination. Still, the basic point still stands, even if my numbers need to be divided by 8. Desktops use more memory because, as users, we demand fancy true-color graphics, high resolutions, and anti-aliasing that we didn't have in the Windows 9x era.
- wooque 4y agoFedora is most bloated distro in existence. It's bad distro to do this comparisons. Even Ubuntu has significantly lower RAM usage out-of-the-box. Also GNOME can be stripped out of packages and services you don't need. For example my Debian with GNOME Wayland boots into ~700MB. With Brave and terminal running, reading this thread, it's 1.07GB.
- jl6 4y agoI would like to see a similar comparison, but for the latency of completing various actions, like startup time, switching windows, opening the launcher menu, navigating to a subdirectory... These are the things that matter to me - much moreso than RAM usage. My informal anecdotal experience is that XFCE latency is nearly always imperceptible, whereas GNOME latency is nearly always perceptible.
- viraptor 4y agoWorth remembering this is the usage of a default setup (+ some indexing it seems). It's quite easy to drop a lot from that usage if you don't need akonadi, baloo, and a few other things.
- roomey 4y agoI have been using xfce for years now. I would recommend people try it, no matter what your machine specs (I have a good laptop). It is just, really, really, fast. I mean, there is a bit of latency opening Firefox or TB from cold, but everything else is just... Instant. Tabbing windows, instant response when clicking buttons. It is night and day when comparing to windows. I use it all day, rarely reboot, and it never lags. My phone lags way more than desktop even. It is a desktop that gets out of your way :) The downside is it makes using MS windows very frustrating (I keep thinking I must have missed clicked due to delays), but I don't have to use windows much thankfully.
- huggingmouth 4y agoSecond this. I have nothing but praise for xfce4. It does what it's supposed to and you feel no friction while using it. It feels natural. Have they made any progress in porting into Wayland yet?
- bityard 4y agoI used XFCE for a few years. My biggest issue with it was that my work machine is a laptop that I have configured as dual-screen with an external monitor. I have a need to dock and undock several times a day as I alternate between working at my desk, go to meetings, work from somewhere else in the building, etc. Maybe it's better now, but back then XFCE was terrible at figuring out where windows are supposed to go as displays came and went. GNOME (hell, even GNOME 2) to its credit, always handled this flawlessly. KDE was iffy for a long time but now it's fine.
- roomey 4y agoYea, it's a bit better now. I have a 4k laptop and the usual dell dock with 2 regular monitors. I like using arandr cause I got used to it when things weren't working so well, but the built in monitor switcher works good now as far as I can see.
- ljosifov 4y ago+1. Been using Xubuntu LTS for my desktops and laptops since 10.04 (I now see that's after 2010). My experience concours with yours. Xfce is excellent for me, hope it stays this way. I see my kids use Windows. Some things in modern Windows strike me as insane nowdays (been a Windows user too, since Windows 3). Hope I'm never forced in a position where I have to change away from Xfce.
- kramerger 4y agoThese numbers only matter if the DE is of significant size compared to your applications. So basically, if you plan to use a browser that is not links, don't waste your time with a minimal WM (unless you want to for personal reasons).
- t3rra 4y agoWhat is the point of VM because everyone has different environment when everyone would get different performance on VM depending on the environment? Should just compare on the identical machine and that does just good job of comparison, duh
- egberts1 4y agoI find it perplexing that KDE Wayland has nearly double its shared memory. While not reading into to much, but from a security POV, that just makes it harder to secure flow of data (but potentially faster).
- robinsonb5 4y agoI'm actually less interested in how much RAM the desktop uses in normal usage, and more interested in how gracefully it handles curveballs. For instance, some time ago I accidentally pointed a file manager at a directory containing a massive JPEG image (I think it was a photo of decapped chip, or something of that nature). The file manager immediately decided to generate a thumbnail, ate all the physical RAM, and triggered a swapstorm that made it next to impossible to find and kill the offending process. It took best part of five minutes to regain control of the computer.
- eptcyka 4y agoIn the Xorg version of gnome-shell, it was possible to crash the user session by just requesting a drawable surface that's _too big_. I managed to do so with a textbox from seemingly safe python code.
- eric__cartman 4y agoOh boy I remember when Gnome's file manager ate all my ram trying to generate thumbnails for a folder with millions of images. And when Dolphin crashed and refused to work again when the nfs shares that were mounted got unexpectedly disconnected from the network. I had to unmount everything from the terminal before Dolphin decided to work again.
- kitsunesoba 4y agoIn my experience Linux DEs are notoriously bad at handling edge cases like this. Probably one of the more frustrating parts of the Linux desktop experience. It’s not a constant pain but on the odd occasion that you hit these edge cases it tends to really suck.
- bityard 4y agoIn KDE, Dolphin has a setting to never generate thumbnails for files above a certain size. Unfortunately, it's set to "unlimited" by default...
- nyanpasu64 4y agoAnd worse, if Dolphin misinterprets a pseudo-random random binary file as a Targa image, even the tinest of files can be interpreted as an image with millions of pixels and gigabytes in size (even though only the first few pixels are actually present in the file). And malicious binary files can be small but decompress to gigabytes of pixel data as well. So a source filesize limit is insufficient to prevent pathological files from eating RAM.
- Matl 4y agoIsn't the point of having RAM to fill it in order to cache objects? To me measuring how much RAM a DE uses is strange because I would expect it to consume enough RAM to be snappy but be able to adopt in a constrained system. If however I have 8G free, use it away, I don't see the point in having RAM I paid for sitting around unused.
- thfuran 4y agoIf the desktop environment is consuming all the RAM to eek out a bit of extra performance, then it's not available for the applications to do the same.
- Matl 4y agoOk, so to be precise I did not mean to imply a DE should be a resource hog, leak memory all over the place etc. I simply meant to say that a diff of few tens or even hundreds of MBs of RAM between DEs is realistically insignificant for most people.
- lucideer 4y agoThat's the point at a holistic level, but in reality it's a shared resource. A DE in particular is never the primary application - it should spend most of its time largely invisible to the user - so using a lot of RAM that actual applications may require would not be my expectation. > be able to adopt in a constrained system That's a fair caveat, but in reality no software is perfect & there's often a trade-off here. Being conservative with RAM usage in general (instead of trying to be both greedy & adaptive) is a much more prudent approach. The latter is ideal, but hard to achieve perfectly. Working on being reasonably good at both is going to give you the best quality outcomes. > I have 8G free, use it away, I don't see the point in having RAM I paid for sitting around unused That's a nonsensical sentiment. What's the point in using RAM "you paid for" for something useless/wasteful - you're not getting your money's worth whether the RAM is idle or wasted.
- horsawlarway 4y agoSo at least for Gnome - the general strategy they appear to be aiming for is "Use it if you've got it, give it back if you're running low". Which - is entirely reasonable, in my opinion. > That's a nonsensical sentiment. What's the point in using RAM "you paid for" for something useless/wasteful - you're not getting your money's worth whether the RAM is idle or wasted. It's not being "wasted" it's resulting in faster IO for anything that happens to be in it. Given the choice of having your RAM full or empty... you should pick full every time. You just need to make sure that "full" can be adjusted to make space for whatever application you might want to open next. So... swinging back around to Gnome - as far as I can tell, they're trying to do exactly that (full disclosure, I can't speak for how well this is adopted). The blog post outlining the goal is here: https://www.hadess.net/2019/12/gmemorymonitor-low-memory-monitor-2nd.html https://www.hadess.net/2019/12/gmemorymonitor-low-memory-mon... The implementation and docs are here: https://docs.gtk.org/gio/signal.MemoryMonitor.low-memory-warning.html https://docs.gtk.org/gio/signal.MemoryMonitor.low-memory-war...
- whalesalad 4y agoKDE and XFCE are my favorites. I could probably daily drive XFCE but with higher resolution (4K) monitors, KDE tends to look a lot better, at least in my experience. I loathe Gnome and don't really understand why it has become the default DE on so many platforms. Desktop linux is not being held back by system usage. If anything, we need to stop caring about that for a while and focus on quality of life / ergonomics. A unified clipboard (kb shortcuts as well as shared buffer), proper 4k rendering/scaling at a nuclear level, etc. This is my biggest gripe with Linux. I would ditch macOS entirely if I could do the following: 1. complete keyboard remapping such that macos keybindings work everywhere (there are hacks for this, but they are hacks), 2. proper 4k rendering (no blurry stuff) with consistent titlebars and ui elements across all applications, 3. the ability to copy and paste text into or out of a terminal without fuss. I don't care about X11 vs Wayland. All this considered - and I can't believe I am about to say this - Windows 11 is not nearly as bad as I thought it would be and I kinda like it. Might need to go see a doctor I am starting to say funny things.
- FpUser 4y ago>" quality of life / ergonomics." Then just replicate Win98 desktop. good ergonomics has nothing to do with high resource usage.
- ryukafalz 4y ago> 2. proper 4k rendering (no blurry stuff) > I don't care about X11 vs Wayland. It sounds like you might care though, albeit not directly. That blurriness is often the result of attempting to use fractional scaling (i.e. not an integer multiple like 200%, 300%, etc). This is common on 4k displays as many are too small for 100% scaling to be readable but too big for 200%. You can do fractional scaling on X11 but Wayland typically does it better, and without the blurriness.
- taeric 4y agoI'm in PopOS and have 150% scale on one monitor, with 100% on the other. Not seeing anything blurry, and pretty sure I'm on X11. Is that an older problem? And I think the point was more that many of us don't care how it is fixed. If that takes a new application, so be it. If it can be done on the older one, also so be it.
- rsecora 4y agoIt will be nice to check also CDE or even OpenWindows. CDE was once a behemont eating the scarce RAM of the 90s workstations. But those where 64MB workstations
- class4behavior 4y agoI found Gnome to offer the best mix of stable tiling and normal UX while supporting both wayland and x11 with good enough customization options through its extensions, so it's an easier to set-up solution for notebooks to which often connect a mouse.
- truth_seeker 4y agoMulti Gen LRU in Linux 6.x might change this figures
- synergy20 4y agoI used to chase down xfce, lxde, openbox,etc to find the best light weight WM for me, problem nowadays is that, I need chrome on all of them, whose memory usage alone overshadows all those windows managers. unless chrome can somehow run in, say, 200MB of RAM, the windows manager are no longer that important to me on the resource consumption side.
- StillBored 4y agoPeople forget that the entire early MacOs, GEOS, windows DE's used to run in a matter of a couple hundred K. The entire system requirements of a windows 2k PC were 64M of ram, and yes it could display a background picture on a HD+ level display and pretty much do everything that is possible on a modern PC that your average user is doing. The darn thing was 32-bit, meaning that the apps could never allocate more than 2G (or 3G on a tuned machine) of address space and it was enough, even for video editing/etc. Back when FF went 64-bit/multi process I groaned because having a fixed 2G limit, which seemed terrible at the time, created a nice upper bound on how much CPU+RAM it would consume so the developers assured it ran reasonably well with those kinds of system resources. Now the sky's the limit, and if you dare limit its resource utilization via cgroups/etc it won't work 1/2 the time. And of course its your fault if you don't have a 16 core, 32G PC. To run a text editor and a chat application.
- II2II 4y agoI agree with most of what you have to say, yet we have to be careful with comparisons like: > People forget that the entire early MacOs, GEOS, windows DE's used to run in a matter of a couple hundred K. The simplest example is to consider graphics. Early systems had limited resolution, limited colour depth, expected applications to repaint regions when necessary, and only sometimes offered primitive forms of graphics acceleration. Most people will want to see improvements on all of those fronts, yet has to be paid in memory use. Should the jump be as big as it has been? Certainly not. On the other hand, using the earliest of GUI's as an example is misleading since the improvements I mentioned will require about 1,000 times the memory.
- inetknght 4y ago> On the other hand, using the earliest of GUI's as an example is misleading since the improvements I mentioned will require about 1,000 times the memory. 800x600px @32b was my favorite resolution & depth for a long time. 800x600x32/8 (800 pixels x 600 pixels x 32bits per pixel / 8 bits per byte) = ~1920000 bytes. Call it just under 2MiB. But 4K? 3840 x 2160 x 32b / 8 = 33177600 ... or just around 32MiB... around 16x the size. No, it does not require 1000 times the memory. It requires only about 16x the memory. Where memory is being lost is in massive amounts of inefficient languages copying and duplicating huge swaths of images (and tons of other datas too) that will never or rarely be used. Want a transparency on the window? Well now you have your image, the background image, and the real blended image. Want to show bunches of pretty little custom images? Each of those comes in, and some of them aren't even visible! But they still need to be loaded up. And that doesn't even talk about the slowness of the application. Tons of IPC communication going on to enforce sandboxing, instead of just directly doing whatever it is that needs to be done. In-process multi-threading models with inefficient languages exacerbate it. Inefficient design with huge layers of abstractions to support a fifty bajillion different ideas for how a user might want those pictures shown (oh, you want big icons but another user wants little pictures; you want light colors, another wants dark colors, and a third wants custom colors...; different fonts, different etc...). And that's just looking at images. What about datas? Gotta hold all of those APIs and telemetry somewhere. Gotta cache them so you don't have to request it again. Gotta hold it in memory because disks are slow. Gotta keep all of the metadata too. Might as well put it into a sqlite3 database and make it easier to manage! Or maybe the developer can just store it all in a linked list and look it up as needed... And what happens when you run out of memory? Goodness that's annoying and difficult, especially in a terrible language, so just don't worry about it. Just allocate something new and let the garbage collector... collect your garbage that you've strewn all across the user's machine. Who cares if it's "slow" as long as your application doesn't crash? Need to render a new image? Best to render it from a template image, so now you're holding even more images and also allocating new ones every time you need to render stuff. Except that it's all done in CSS by the kids these days, so the template image isn't even an image... it's text... to be rendered by the CPU. Yes, cool. No, not fast. All of that ends up being on top of terrible "cross-platform" frameworks to make it cheaper (to the developer) to build the damned software. Why are computers so slow and bloated these days, anyway? It's certainly not because computers are slow and bloated.
- smm11 4y agoHere comes the KDE defenders.
- butz 4y ago> Post installation the system will be fully upgraded and rebooted While most users will use OS like this, the results become not easily reproducible, as new updates sometimes improve or worsen performance. Why not take release image and test without updates?
- warinukraine 4y agoI'm confused that i3wm hasn't been tested.
- __s 4y agohttps://github.com/serprex/nobox https://github.com/serprex/nobox would make for a good baseline, it uses about 12K resident memory It was my desktop environment for years until I switched to wayland & sway. My desktop had 512MB ram until I got a new desktop in 2019
- eximius 4y agoLove to see Cinnamon/MATE represented. Now do AwesomeWM. Easily my favorite DE. Threads the needle between simplicity like i3 but has the power to do anything with it's full Lua config.
- deleted 4y ago[deleted]
- als0 4y agoFor comparison, earlier in the year: https://vermaden.wordpress.com/2022/07/12/desktop-environments-resource-usage-comparison/ https://vermaden.wordpress.com/2022/07/12/desktop-environmen... | htop(1) | conky(1) | freecolor(1) FreeBSD | 112 MB | - - | 157 MB Openbox | 237 MB | 460 MB | 382 MB MATE | 508 MB | 778 MB | 788 MB XFCE | 533 MB | 794 MB | 829 MB helloSystm | 585 MB | | 830 MB GNOME | 625 MB | 990 MB | 1000 MB Plasma | 730 MB | 1659 MB | 1167 MB I was surprised that MATE was more lightweight than XFCE.
- LoveMortuus 4y agoLXDE is missing... I quite like it, I started using it when I was looking for the lightest DE that I could find, but now that I see IceWM and how light it is, I have to try it! (I started with XFCE which I loved). The only problem that I encounter is that my display is 1024x600 max resolution, so with some DEs the windows would be so big that they couldn't fit the monitor, even if I try to make them smaller... If anyone has any suggestions for an even lighter one, please share.