Overcommit memory shenanigans

I was advocating to merge plasma desktop and plasma mobile, but a recent experience made me wonder about Plasma Desktop’s efficiency:

I was testing out a system with echo 2 > /proc/sys/vm/overcommit_memory. When using plasma desktop, I ran into big trouble with just 4-5 browser tabs open and 2-3 bigger programs, a new browser tab would usually crash. At some point even kwin crashed.

With plasma mobile, none of these things happen. The system runs perfectly fine with overcommitting disabled and plenty of browser tabs open, it’s like it’s a completely different computer. Update: it happens with mobile too, I just applied the option incorrectly after a reboot.

It would be nice if systems without overcommitting were able to still run a KDE desktop. There are various reasons to run in that mode, maybe no mainstream reasons, but nevertheless it can be useful.

So I wonder what’s going on with Plasma desktop here, and if something from mobile is worth carrying over that results in it handling this better.

Try installing “smem” and run that, it shows memory usage by every process in a sorted list on command line. It’s a package on Fedora, I suspect other distros have it:

smem --help
Usage: smem [options]

Options:
  -h, --help            show this help message and exit
  -H, --no-header       disable header line
  -c COLUMNS, --columns=COLUMNS
                        columns to show
  -t, --totals          show totals
  -a, --autosize        size columns to fit terminal size
  -R REALMEM, --realmem=REALMEM
                        amount of physical RAM
  -K KERNEL, --kernel=KERNEL
                        path to kernel image
  -m, --mappings        show mappings
  -u, --users           show users
  -w, --system          show whole system
  -P PROCESSFILTER, --processfilter=PROCESSFILTER
                        process filter regex
  -M MAPFILTER, --mapfilter=MAPFILTER
                        map filter regex
  -U USERFILTER, --userfilter=USERFILTER
                        user filter regex
  -n, --numeric         numeric output
  -s SORT, --sort=SORT  field to sort on
  -r, --reverse         reverse sort
  -p, --percent         show percentage
  -k, --abbreviate      show unit suffixes
  --pie=PIE             show pie graph
  --bar=BAR             show bar graph
  -S SOURCE, --source=SOURCE
                        /proc data source
2 Likes