Severe performance regression after upgrading to Kubuntu 24.10 (KDE Plasma 6.1.5)

Hey everybody,

I’m trying to find out why my desktop performance got a lot worse after upgrading to Kubuntu 24.10, which now uses Wayland and KDE Plasma 6.1.5.

I’ve posted about this problem on the official Ubuntu issue tracker but haven’t gotten any responses yet. Maybe people think it’s just a RAM issue. But does Plasma 6.1.5 really need that much more RAM? Please also take a look at the included munin graphs below to judge the situation.

I’m seeing a severe performance regression when multitasking. My system seems to read/write from/to the swap partition a lot more often than before (as evidenced by the included munin graph). Even when just switching between the same Firefox window and another window, it is often taking up to ten seconds or more for the Firefox window to be responsive again. Almost every time the Firefox window I’m switching to is desaturated, which almost never happened in Kubuntu 24.04.

I’m one of those people who keeps a lot of browser tabs and windows open. I’m using Firefox and I usually have about 60 windows open. That was still manageable under 24.04 with ZSWAP. With 24.10 it is bordering on unusable. I haven’t increased the number of windows or tabs after upgrading to 24.10 significantly. The lagginess of 24.10 has been apparent from the first day of using 24.10.

Also, the Firefox window I’m switching to won’t automaticallyre-saturate after the swapping has stopped, so I need to do a quick double alt+tab to see normal colors again. This adds to the annoyance.

Apart from that the mouse cursor now lags very often. When I hover over the Firefox icon in the taskbar and the window preview pops up, the system immediately starts swapping + compressing/decompressing as is apparent in the system monitor.

The same thing happens when I click on the Firefox icon and I get an overview of all the opened Firefox windows. For some reason the system then also starts to swap and work like crazy, although it already displays all window previews. To me it seems like the previews are being refreshed or something?

It always feels like the system is running circles around itself. Memory pages that have just been used don’t seem to stay in memory. I’ve used vm.swappiness = 60 per default with 24.04. To try to solve the performance issues in 24.10 I’ve decreased vm.swappiness to 10 but this didn’t help.

As you can see in the added graphs from munin, something happened with memory consumption and swapping after upgrading to 24.10. Unfortunately I’m not fully capable of troubleshooting this myself. What sticks out to me is that after upgrading to Kubuntu 24.10, my system uses less swap than before (on average), but the committed memory has exploded.

System details (inxi -Fazy)

System:
Kernel: 6.11.0-9-generic arch: x86_64 bits: 64 compiler: gcc v: 14.2.0
clocksource: tsc avail: hpet,acpi_pm
parameters: BOOT_IMAGE=/boot/vmlinuz-6.11.0-9-generic
root=UUID=5adc739b-f1f0-4d34-8602-32e873ad1172 ro
resume=UUID=aceef760-430c-4016-8bd2-6bb0466cb436 zswap.enabled=1
zswap.compressor=lz4 zswap.max_pool_percent=20 zswap.zpool=z3fold quiet
splash vt.handoff=7
Desktop: KDE Plasma v: 6.1.5 tk: Qt v: N/A wm: kwin_wayland with: krunner
dm: SDDM Distro: Ubuntu 24.10 (Oracular Oriole)
Machine:
Type: Desktop System: Dell product: OptiPlex 9020 v: 00 serial:
Chassis: type: 15 serial:
Mobo: Dell model: 0XCR8D v: A03 serial: part-nu: 05A4
uuid: 4c4c4544-0030-4710-8048-c4c04f303232 UEFI: Dell v: A25 date: 05/30/2019
CPU:
Info: model: Intel Core i5-4670 bits: 64 type: MCP arch: Haswell gen: core 4
level: v3 note: check built: 2013-15 process: Intel 22nm family: 6
model-id: 0x3C (60) stepping: 3 microcode: 0x28
Topology: cpus: 1x cores: 4 smt: cache: L1: 256 KiB
desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB L3: 6 MiB
desc: 1x6 MiB
Speed (MHz): avg: 3036 high: 3093 min/max: 800/3800 base/boost: 3400/3800
scaling: driver: intel_cpufreq governor: schedutil volts: 1.2 V
ext-clock: 100 MHz cores: 1: 3053 2: 3093 3: 2908 4: 3093 bogomips: 27137
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: gather_data_sampling status: Not affected
Type: itlb_multihit status: KVM: VMX disabled
Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT
disabled
Type: mds mitigation: Clear CPU buffers; SMT disabled
Type: meltdown mitigation: PTI
Type: mmio_stale_data status: Unknown: No mitigations
Type: reg_file_data_sampling status: Not affected
Type: retbleed status: Not affected
Type: spec_rstack_overflow status: Not affected
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
prctl
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
sanitization
Type: spectre_v2 mitigation: Retpolines; IBPB: conditional; IBRS_FW;
STIBP: disabled; RSB filling; PBRSB-eIBRS: Not affected; BHI: Not affected
Type: srbds mitigation: Microcode
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics
vendor: Dell driver: i915 v: kernel arch: Gen-7.5 process: Intel 22nm
built: 2013 ports: active: DP-1 empty: DP-2, HDMI-A-1, HDMI-A-2, VGA-1
bus-ID: 00:02.0 chip-ID: 8086:0412 class-ID: 0300
Display: unspecified server: X.Org v: 24.1.2 with: Xwayland v: 24.1.2
compositor: kwin_wayland driver: X: loaded: modesetting unloaded: fbdev,vesa
dri: crocus gpu: i915 display-ID: :1 screens: 1
Screen-1: 0 s-res: 1920x1200 s-dpi: 96 s-size: 508x318mm (20.00x12.52")
s-diag: 599mm (23.6")
Monitor-1: DP-1 model: EIZO NANAO EV2455 serial: built: 2016
res: 1920x1200 hz: 60 dpi: 94 gamma: 1.2 size: 519x324mm (20.43x12.76")
diag: 616mm (24.2") ratio: 16:10 modes: max: 1920x1200 min: 720x400
API: EGL v: 1.5 hw: drv: intel crocus platforms: device: 0 drv: crocus
device: 1 drv: swrast gbm: drv: crocus surfaceless: drv: crocus x11:
drv: crocus inactive: wayland
API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.2.3-1ubuntu1
glx-v: 1.4 direct-render: yes renderer: Mesa Intel HD Graphics 4600 (HSW GT2)
device-ID: 8086:0412 memory: 1.46 GiB unified: yes
API: Vulkan v: 1.3.290 layers: 3 device: 0 type: integrated-gpu name: Intel
HD Graphics 4600 (HSW GT2) driver: N/A device-ID: 8086:0412
surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe (LLVM 19.1.0 256
bits) driver: N/A device-ID: 10005:0000 surfaces: xcb,xlib
Audio:
Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio vendor: Dell
driver: snd_hda_intel v: kernel bus-ID: 00:03.0 chip-ID: 8086:0c0c
class-ID: 0403
Device-2: Intel 8 Series/C220 Series High Definition Audio vendor: Dell
driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:8c20
class-ID: 0403
API: ALSA v: k6.11.0-9-generic status: kernel-api
tools: alsactl,alsamixer,amixer
Server-1: PipeWire v: 1.2.4 status: n/a (root, process) with:
1: pipewire-pulse status: active 2: wireplumber status: active
tools: pw-cat,pw-cli,wpctl
Server-2: PulseAudio v: 16.1 status: off (using pipewire-pulse)
tools: pacat,pactl
Network:
Device-1: Intel Ethernet I217-LM vendor: Dell driver: e1000e v: kernel
port: f080 bus-ID: 00:19.0 chip-ID: 8086:153a class-ID: 0200
IF: eno1 state: up speed: 100 Mbps duplex: full mac:
IF-ID-1: virbr0 state: down mac:
Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Drives:
Local Storage: total: 698.65 GiB used: 464.45 GiB (66.5%)
ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 860 EVO 500GB
family: based SSDs size: 465.76 GiB block-size: physical: 512 B
logical: 512 B sata: 3.1 speed: 6.0 Gb/s tech: SSD serial:
fw-rev: 1B6Q temp: 34 C scheme: GPT
SMART: yes state: enabled health: PASSED on: 301d 16h cycles: 2828
written: 37.46 TiB
ID-2: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 840 EVO 250GB
family: based SSDs size: 232.89 GiB block-size: physical: 512 B
logical: 512 B sata: 3.1 speed: 6.0 Gb/s tech: SSD serial:
fw-rev: BB6Q temp: 24 C scheme: GPT
SMART: yes state: enabled health: PASSED on: 1y 306d 2h cycles: 3275
written: 10.37 TiB
Partition:
ID-1: / raw-size: 288.58 GiB size: 283.74 GiB (98.32%)
used: 260.89 GiB (91.9%) fs: ext4 block-size: 4096 B dev: /dev/sda4
maj-min: 8:4
ID-2: /boot/efi raw-size: 100 MiB size: 99.2 MiB (99.21%)
used: 31.2 MiB (31.4%) fs: vfat block-size: 512 B dev: /dev/sda2 maj-min: 8:2
Swap:
Kernel: swappiness: 10 (default 60) cache-pressure: 100 (default) zswap: yes
compressor: lz4 max-pool: 20%
ID-1: swap-1 type: partition size: 40.9 GiB used: 14.73 GiB (36.0%)
priority: -2 dev: /dev/sda5 maj-min: 8:5
Sensors:
System Temperatures: cpu: 40.0 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Memory: total: 16 GiB available: 15.52 GiB used: 10.04 GiB (64.7%)
Processes: 421 Power: uptime: 4d 15h 3m states: freeze,mem,disk
suspend: deep avail: s2idle wakeups: 6 hibernate: platform avail: shutdown,
reboot, suspend, test_resume image: 6.18 GiB services: org_kde_powerdevil,
power-profiles-daemon, thermald, upowerd Init: systemd v: 256
target: graphical (5) default: graphical tool: systemctl
Packages: 4450 pm: dpkg pkgs: 4376 libs: 2253 tools: apt,apt-get,aptitude
pm: flatpak pkgs: 38 pm: snap pkgs: 36 Compilers: gcc: 14.2.0 alt: 11/12/13
Shell: Sudo (sudo) v: 1.9.15p5 default: Bash v: 5.2.32 running-in: konsole
inxi: 3.3.35


If you did an in-place upgrade, you may need to traverse ALL of the settings in Ksettings and reset them. It seems that a lot of legacy settings, which when carried forward while seeming to be set, are actually not. There is one bug in particular that I found that seems to consume massive amounts of resources, and that is, believe it or not, the “paste with middle mouse button”. Turning this off, then rebooting, and turning it back on resulted in the system returning to normal.

I have found that Plasma 6 uses less resources than Plasma 5, so its not adding any overhead by itself, but a wayward config may be acting up. With the exception of Wine, 24.10 has proven to be a far more solid release than 24.04.

On a personal note, might I ask why you keep 60 tabs open? I have come across a few people who proudly exclaim their tab count, which I have always found more than a little strange. You cannot actually effectively manage that many tabs and you are consuming resources and energy for no good reason. Do you have some sort of particular hatred of bookmarks?

1 Like

Hey,

thanks for the tips! :slight_smile: I did an in-place upgrade. I’ve tried resetting all of the settings in Ksettings but I’m not sure I actually succeeded. But I’m now using the new default task switcher and this one is much snappier. Other hiccups are still there so I looked for different ways to reset the config, but this seems to be difficult: https://discuss.kde.org/t/reset-all-plasma-settings-at-once-and-start-tiling-feature-on-command-line/9503/4. I might resort to re-installing to make sure I got everything sorted out.

I actually keep 60 windows open, so I’m far beyond 60 tabs total… I’m using Auto Tab Discard to help Firefox not hog as much memory, though. And if you remember to minimize all of Firefox’ windows, they don’t burn that many CPU cycles.

As for the background: I often end up researching something about something and then don’t finish that work but intend to come back to it later because something else came up that’s more important. That way I end up with more and more windows. I should maybe try switching to Arc. :sweat_smile: (EDIT: Just noticed Arc is not yet available for Linux.)

Yeah, I don’t find bookmarks that useful. For me they just become another unmanageable mess over time too. Doing research and then writing things down, structuring them, and including the source is far more useful. But I often don’t get around to doing this.

Update: I’ve restored from backup back to Kubuntu 24.04.

I actually did a fresh install of 24.10 but it didn’t fix most of my problems.

There are so many issues for me with 24.10 that I simply had to revert back to 24.04. Apart from the performance issues, I’m seeing problems with crashes when entering suspend and hibernation, quite a few other bugs in KDE, and some important software still isn’t really compatible with Wayland.

On a sidenote: I’d strongly advice you to have a good look at Arc. It’s been known to be easily hackable ( and has been).