Tips to tune for better performance?

My old laptop died so I moved the hard drive (samsung SSD) to a newer but still old “hp elite desk 800 G3” system I had laying around. It booted right up and it’s really decent but a little sluggish. I’d like to hold off on buying a new computer for a few years. It has a i7-7700T processor, 16G of ram and a Samsung 2.5 ssd. I’m planing on upgrading to 32G ram and considering pros of a nvme ssd to replace the sata one… does it make a big difference?

I’m running KDE plasma 6 on tumbleweed. I was hoping for a little more zip or pep if you will. It just seems a little sluggish with really nothing going on. To be clear the overall system seems a little sluggish. KDE, application open time etc. Switching to wayland helped a little with some slight video tearing I had and seems to make kde a little snappier.

I was wondering what tips and tricks you guys have on tuning a little for better performance on older hardware to squeeze a little more out but still remain stable? For example what about changing the kernel scheduler or something like that? I know there’s a few to choose from. Some KDE tuning tips? Zram? etc…

It’s just a basic (kde) tumbleweed install that I’ve been using for about five years …so btrfs and no drive encryption or anything like that.

inxi -F

System:
  Host: localhost.localdomain Kernel: 6.11.3-2-default arch: x86_64 bits: 64
  Desktop: KDE Plasma v: 6.2.1 Distro: openSUSE Tumbleweed 20241022
Machine:
  Type: Mini-pc System: HP product: HP EliteDesk 800 G3 DM 65W v: N/A
    serial: <superuser required>
  Mobo: HP model: 829A v: KBC Version 06.29 serial: <superuser required>
    UEFI: HP v: P21 Ver. 02.39 date: 11/22/2021
CPU:
  Info: quad core model: Intel Core i7-7700T bits: 64 type: MT MCP cache:
    L2: 1024 KiB
  Speed (MHz): avg: 3736 min/max: 800/3800 cores: 1: 3736 2: 3736 3: 3736
    4: 3736 5: 3736 6: 3736 7: 3736 8: 3736
Graphics:
  Device-1: Intel HD Graphics 630 driver: i915 v: kernel
  Display: wayland server: X.org v: 1.21.1.12 with: Xwayland v: 24.1.3
    compositor: kwin_wayland driver: X: loaded: modesetting unloaded: fbdev,vesa
    dri: iris gpu: i915 resolution: 3440x1440
  API: EGL v: 1.5 drivers: iris,swrast
    platforms: gbm,wayland,x11,surfaceless,device
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.1.7
    renderer: Mesa Intel HD Graphics 630 (KBL GT2)
  API: Vulkan Message: No Vulkan data available.
Audio:
  Device-1: Intel 200 Series PCH HD Audio driver: snd_hda_intel
  API: ALSA v: k6.11.3-2-default status: kernel-api
  Server-1: PipeWire v: 1.2.5 status: active
Network:
  Device-1: Intel Ethernet I219-LM driver: e1000e
  IF: eno1 state: down mac: ac:e2:d3:10:b9:d1
  Device-2: Qualcomm Atheros AR9271 802.11n driver: ath9k_htc type: USB
  IF: wlp0s20f0u2 state: up mac: 90:f6:52:17:c6:fd
Drives:
  Local Storage: total: 465.76 GiB used: 388.81 GiB (83.5%)
  ID-1: /dev/sda vendor: Samsung model: SSD 860 EVO 500GB size: 465.76 GiB
Partition:
  ID-1: / size: 459.27 GiB used: 388.8 GiB (84.7%) fs: btrfs dev: /dev/sda3
  ID-2: /boot/efi size: 499.7 MiB used: 6 MiB (1.2%) fs: vfat dev: /dev/sda1
  ID-3: /home size: 459.27 GiB used: 388.8 GiB (84.7%) fs: btrfs
    dev: /dev/sda3
  ID-4: /opt size: 459.27 GiB used: 388.8 GiB (84.7%) fs: btrfs
    dev: /dev/sda3
  ID-5: /tmp size: 459.27 GiB used: 388.8 GiB (84.7%) fs: btrfs
    dev: /dev/sda3
  ID-6: /var size: 459.27 GiB used: 388.8 GiB (84.7%) fs: btrfs
    dev: /dev/sda3
Swap:
  ID-1: swap-1 type: partition size: 6 GiB used: 6.5 MiB (0.1%) dev: /dev/sda2
Sensors:
  System Temperatures: cpu: 53.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 16 GiB available: 15.5 GiB used: 9.85 GiB (63.6%)
  Processes: 340 Uptime: 23h 18m Shell: Bash inxi: 3.3.36
neal@localhost:~> 

IME with two Kaby Lake GT2 desktops, one with i3 and one with i5, there is a noticeable difference when SSD and NVME are compared back-to-back. This is confirmed by 3X or more speed from NVME in I/O testing with hdparm -t. But, how big is big? My daily driver is i3-7100T with 32G RAM. Whether noticeable equates to “big” is in the experience of the user.

1 Like

Thanks, I’ll look into a decent nvme then, that should give it a little zip when opening things for the first time. I feel like there’s some kernel, ram and kde tweaks that can help make it a little snappier while retaining reliability.

Thanks!

Likely snappier can be had by disabling some of the things Plasma automatically starts in the background. I turn off about 3/4 of them, and anything else I can that’s blingy.

1 Like

Your inxi CPU output:

  Info: quad core model: Intel Core i7-7700T bits: 64 type: MT MCP cache:
    L2: 1024 KiB
  Speed (MHz): avg: 3736 min/max: 800/3800 cores: 1: 3736 2: 3736 3: 3736
    4: 3736 5: 3736 6: 3736 7: 3736 8: 3736

shows all 4 core maxed out. Somehow for me it shows:

  Info: 8-core model: Intel Core i7-9700K bits: 64 type: MCP cache: L2: 2 MiB
  Speed (MHz): avg: 800 min/max: 800/4900 cores: 1: 800 2: 800 3: 800 4: 800
    5: 800 6: 800 7: 800 8: 800

so all cores at the base frequency running a few idle applications, this forum and a youtube video. What was your computer doing dumping inxi?

Here a Elitedesk G3 with pretty decent performance.

You could look around for a second hand 7700K, see here what that will give you.

On the HP forum there is a long thread about Upgrading HP EliteDesk 800 G3 SFF.

One more interesting option I saw was upgrading the motherboard with a G4/G5 motherboard that supports newer CPU’s, that board, L65200-001, I could get for 40 Euro second hand.

A NVMe will be faster but you really won’t see a lot of benefit from it. Still, it’s a good upgrade and it’ll be ready to plug into a newer machine when you get one.

One of the best performance tweaks has to do with web browsing. If you mainly use it for the web, then you for sure want a RAM Disk for your browser cache. It also saves tons of writes to the SSD over the years. You’ll notice the speed increase of your browser.

Putting this in your fstab will create the RAM disk in /tmp
It’ll automatically grow as needed. You have 16GB of RAM and it’ll take a lot of browsing to get 500MB in the cache. I’ve done this since the spinner days and it really helps with a standard HDD!

none /tmp tmpfs defaults 0 0

Make a bin folder in your home directory if you don’t already have one. Make a file in bin called ramdisk-browsers.sh and make it executable. I don’t use Firefox so it’s not listed. This also clears your cache when you reboot etc.

Then run it from your .bash_profile file.
Note that’s a hidden file in your home directory. You’ll have to enable show hidden files.

Just add this line at the end of the bash profile file.

/home/your_user_name/bin/./ramdisk-browsers.sh

#!/bin/bash
## ramdisk-browsers.sh
##
## CHROME
rm -r ~/.cache/google-chrome/Default/Cache
mkdir /tmp/chrome
ln -s /tmp/chrome ~/.cache/google-chrome/Default
###
## BRAVE
rm -r ~/.cache/BraveSoftware/Brave-Browser/Default/Cache
mkdir /tmp/brave
ln -s /tmp/brave ~/.cache/BraveSoftware/Brave-Browser/Default/Cache
##
## CHROMIUM
rm -r ~/.cache/chromium/Default/Cache
mkdir /tmp/chromium
ln -s /tmp/chromium ~/.cache/chromium/Default/Cache
#
# VIVALDI
rm -r ~/.cache/vivaldi/Default/Cache
mkdir /tmp/vivaldi
ln -s /tmp/vivaldi ~/.cache/vivaldi/Default/Cache
1 Like

That’s odd, it still says that but top, htop, dstat etc show different. The system is under no load right now…just firefox no videos or anything else other than me responding to your post. See how inxi still shows this but top and dstat don’t. I already upgraded the hp, it came with a 6th gen I5 and I upgraded to the I7 for the extra threading. I don’t think it’s a processor issue, it shows up correctly in the bios as well. I’m upgrading the ram and drive …because why not. I wished the proc could handle 2666Mhz ram though.

I feel like it’s something to do with the video card / driver and or maybe kde itself. I tried a ubuntu live cd and it seemed smoother. I’m going to look for a few other linux distros that have good live cd’s to test as well.

neal@localhost:~> inxi -F
System:
  Host: localhost.localdomain Kernel: 6.11.3-2-default arch: x86_64 bits: 64
  Desktop: KDE Plasma v: 6.2.1 Distro: openSUSE Tumbleweed 20241022
Machine:
  Type: Mini-pc System: HP product: HP EliteDesk 800 G3 DM 65W v: N/A
    serial: <superuser required>
  Mobo: HP model: 829A v: KBC Version 06.29 serial: <superuser required>
    UEFI: HP v: P21 Ver. 02.39 date: 11/22/2021
CPU:
  Info: quad core model: Intel Core i7-7700T bits: 64 type: MT MCP cache:
    L2: 1024 KiB
  Speed (MHz): avg: 3687 min/max: 800/3800 cores: 1: 3687 2: 3687 3: 3687
    4: 3687 5: 3687 6: 3687 7: 3687 8: 3687

dstat -a
--total-cpu-usage-- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai stl| read  writ| recv  send|  in   out | int   csw 
  7   2  91   0   0| 144k  569k|   0     0 | 169B 8432B|1697  6003 
  1   0  98   0   0|   0     0 | 490B  474B|   0     0 |1080  5251 
  1   1  98   0   0|   0   196k|1586B 3525B|   0     0 |1264  5883 
  1   1  99   0   0|   0     0 | 208B  114B|   0     0 |1014  5231 
  1   1  98   0   0|   0  4096B| 992B 4421B|   0     0 |1011  5385 
  1   0  98   0   0|   0     0 | 788B   86B|   0     0 | 974  5160 
  2   1  97   0   0|   0   164k|   0     0 |   0     0 |1077  5387 
  1   1  98   0   0|   0     0 |1581B 2596B|   0     0 |1108  5756 
  1   0  99   0   0|   0     0 | 296B  218B|   0     0 | 949  5204 
  2   1  98   0   0|   0   336k|1261B 1516B|   0     0 |1151  5546 
  1   1  98   0   0|   0   164k| 918B  724B|   0     0 |1074  5286 
  1   0  99   0   0|   0     0 |  52B    0 |   0     0 | 968  5129 
  2   0  97   0   0|   0     0 |   0     0 |   0     0 |1073  5291 
  1   0  99   0   0|   0     0 | 364B  262B|   0     0 |1057  5085 
  2   1  98   0   0|   0   308k| 916B  681B|   0     0 |1311  6657 
  2   1  97   0   0|   0     0 |4631B 1908B|   0     0 |1309  5696 
  2   2  96   0   0|   0   168k| 414B  507B|   0     0 |2582  5961 ^C

Tasks: 342 total,   2 running, 340 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.2 us,  1.5 sy,  0.0 ni, 95.2 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st 
MiB Mem : 15867.98+total,  670.387 free, 9415.266 used, 7437.672 buff/cache     
MiB Swap: 6143.996 total, 4868.781 free, 1275.215 used. 6452.719 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                                                                       
   3773 neal      -2   0 2492516 262936 190768 R 5.980 1.618  93:00.53 kwin_wayland                                                                                                                                                                                  
 171985 neal      20   0 5428152 968664 385840 S 5.316 5.961  84:33.66 firefox                                                                                                                                                                                       
 173657 neal      20   0 3266524 525800 183088 S 4.983 3.236  35:09.32 Isolated Web Co                                                                                                                                                                               
 266384 neal      20   0 2423188 165288 149396 S 3.987 1.017   0:00.12 Web Content                                                                                                                                                                                   
   3981 neal      20   0 5856552 321016 132736 S 3.654 1.976  60:29.71 plasmashell                                                                                                                                                                                   
   3956 neal      20   0  201544  40152   9832 S 1.329 0.247  20:47.55 pipewire-pulse                                                                                                                                                                                
 172203 neal      20   0 7095408 432340 180060 S 1.329 2.661   3:11.61 Isolated Web Co                                                                                                                                                                               
     50 root      20   0       0      0      0 S 0.997 0.000   8:07.81 ksoftirqd/5                                                                                                                                                                                   
 172510 neal      20   0 2824196 377024 177908 S 0.997 2.320   6:09.64 Isolated Web Co                                                                                                                                                                               
 172736 neal      20   0 2623052 273016 169728 S 0.997 1.680   0:43.80 Isolated Web Co                                                                                                                                                                               
   3819 neal      20   0  190248  30212   9296 S 0.664 0.186  14:39.12 pipewire                                                                                                                                                                                      
     44 root      20   0       0      0      0 S 0.332 0.000   0:28.94 ksoftirqd/4                                                                                                                                                                                   
    117 root       0 -20       0      0      0 I 0.332 0.000   3:16.61 kworker/u33:0-i915_flip                                                                                                                                                                       
   4371 neal      20   0 1033900 106068  93724 S 0.332 0.653   0:02.33 konsole                                                                                                                                                                                       
 172226 neal      20   0 2578520 249084 166980 S 0.332 1.533   0:26.10 Isolated Web Co                                                                                                                                                                               
 172420 neal      20   0 2659828 271536 174056 S 0.332 1.671   0:36.72 Isolated Web Co                                                                                                                                                                               
 172755 neal      20   0 2618420 258832 165188 S 0.332 1.593   0:39.66 Isolated Web Co                                                                                                                                                                               
 172776 neal      20   0 2636636 220640 158276 S 0.332 1.358   0:39.77 Isolated Web Co                                                                                                                                                                               
 172817 neal      20   0 2532180 227184 163020 S 0.332 1.398   0:24.18 Isolated Web Co                                                                                                                                                                               
 173109 neal      20   0 27.131g 460812 169444 S 0.332 2.836   3:15.70 WebExtensions                                                                                                                                                                                 
 174501 neal      20   0 2881400 374400 171692 S 0.332 2.304   2:47.97 Isolated Web Co                                                                                                                                                                               
 208100 neal      20   0 2515044 223244 180624 S 0.332 1.374   1:04.29 Isolated Web Co                                                                                                                                                                               
 208803 neal      20   0 3127404 690848 194808 S 0.332 4.252  10:17.84 Isolated Web Co                                                                                                                                                                               
 263980 neal      20   0 2651720 349156 194464 S 0.332 2.149   0:25.77 Isolated Web Co                                                                                                                                                                               
 264274 root      20   0       0      0      0 I 0.332 0.000   0:01.71 kworker/5:1-i915-unordered                                                                                                                                                                    
 264351 root      20   0       0      0      0 I 0.332 0.000   0:00.14 kworker/u32:13-btrfs-endio-write                                                                                                                                                              
 266239 neal      20   0 2423464 163916 149836 S 0.332 1.009   0:00.13 Web Content                                                                                                                                                                                   
      1 root      20   0   24868  14068   8640 S 0.000 0.087   0:06.32 systemd                                                                                                                                                                                       
      2 root      20   0       0      0      0 S 0.000 0.000   0:00.07 kthreadd                                                                                                                                                                                      
      3 root      20   0       0      0      0 S 0.000 0.000   0:00.00 pool_workqueue_release                                                                                                                                                                        
      4 root       0 -20       0      0      0 I 0.000 0.000   0:00.00 kworker/R-rcu_gp                                                                                                                                                                              
      5 root       0 -20       0      0      0 I 0.000 0.000   0:00.00 kworker/R-sync_wq                                                                                                                                                                             
      6 root       0 -20       0      0      0 I 0.000 0.000   0:00.00 kworker/R-slub_flushwq                                                                                                                                                                        
      7 root       0 -20       0      0      0 I 0.000 0.000   0:00.00 kworker/R-netns                                                                                                                                                                               
      9 root       0 -20       0      0      0 I 0.000 0.000   0:00.00 kworker/0:0H-events_highpri                                                                                                                                                                   
     12 root       0 -20       0      0      0 I 0.000 0.000   0:00.00 kworker/R-mm_percpu_wq                                                                                                                                                                        
     13 root      20   0       0      0      0 I 0.000 0.000   0:00.00 rcu_tasks_kthread                                                                                                                                                                             
     14 root      20   0       0      0      0 I 0.000 0.000   0:00.00 rcu_tasks_rude_kthread                                                                                                                                                                        
     15 root      20   0       0      0      0 I 0.000 0.000   0:00.00 rcu_tasks_trace_kthread                                                                                                                                                                       
     16 root      20   0       0      0      0 S 0.000 0.000   0:21.01 ksoftirqd/0                                                                                                                                                                                   
     17 root      20   0       0      0      0 I 0.000 0.000   1:14.51 rcu_preempt                                                                                                                                                                                   
     18 root      20   0       0      0      0 S 0.000 0.000   0:00.00 rcu_exp_par_gp_kthread_worker/0                                                                                                                                                               
     19 root      20   0       0      0      0 S 0.000 0.000   0:00.24 rcu_exp_gp_kthread_worker                                                                                                                                                                     
     20 root      rt   0       0      0      0 S 0.000 0.000   0:00.51 migration/0                                                                                                                                                                                   
     21 root     -51   0       0      0      0 S 0.000 0.000   0:00.00 idle_inject/0                                                                                                                                                                                 
     22 root      20   0       0      0      0 S 0.000 0.000   0:00.00 cpuhp/0                                                                                                                                                                                       
     23 root      20   0       0      0      0 S 0.000 0.000   0:00.00 cpuhp/1                                                                                                                                                                                       
     24 root     -51   0       0      0      0 S 0.000 0.000   0:00.00 idle_inject/1                                                                                                                                                                                 
     25 root      rt   0       0      0      0 S 0.000 0.000   0:00.48 migration/1                                                                                                                                                                                   
     26 root      20   0       0      0      0 S 0.000 0.000   0:01.80 ksoftirqd/1                                                                                                                                                                                   
     28 root       0 -20       0      0      0 I 0.000 0.000   0:00.00 kworker/1:0H-events_highpri                                                                                                                                                                   
     29 root      20   0       0      0      0 S 0.000 0.000   0:00.00 cpuhp/2                                                                                                                                                                                       
     30 root     -51   0       0      0      0 S 0.000 0.000   0:00.00 idle_inject/2                                                                                                                                                                                 
     31 root      rt   0       0      0      0 S 0.000 0.000   0:00.48 migration/2                                          

Thanks for chiming in, I will look into this.

Looking at your stats again I think you could benefit from more RAM

Swap is already used 20% and swap is know to cause sluggishness. For me it cause extreme sluggishness so I did decided to disable it, add more memory and installed early–oom.

An alternative is to see what is using the RAM and try to see if you can get that down.

Yes, I do plan on getting 32g of ram. Firefox is my main culprit on that…I do a lot of surfing and research etc and have a tone of tabs open. FF and chrome both are horrible on ram but they also work the best.

Think I’m going to play with some kernel tweaks, I was hoping there was some good tips for opensuse on this here…arch seems to have some good info if anybody is ever interested.

What bothers me the most right now is when I scroll the text isn’t smooth, it gets blurry as it’s scrolling. Once I stop it’s fine. I do have smooth scrolling in FF turned on.

One thing I don’t quite understand is why I’m swapping so much when htop or top shows that I’m only using about half of ram. What I see is cache that might be using the other half but isn’t cache supposed to be freed by the kernel when needed?

 free -m
               total        used        free      shared  buff/cache   available
Mem:           15867        8797         485        1380        8297        7070
Swap:           6143        1099        5044

slabtop -s c

Your stats for my system:

> free -m
               total        used        free      shared  buff/cache   available
Mem:           32116        7668       22182        1398        4753       24447,75
Swap:              0           0           0
> sudo slabtop -s c
 Active / Total Objects (% used)    : 1087445 / 1102629 (98.6%)
 Active / Total Slabs (% used)      : 27632 / 27632 (100.0%)
 Active / Total Caches (% used)     : 162 / 223 (72.6%)
 Active / Total Size (% used)       : 245229.86K / 250930.27K (97.7%)
 Minimum / Average / Maximum Object : 0.01K / 0.23K / 10.31K

  OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME                   
 63744  63738  99%    1.00K   1992       32     63744K xfs_inode
125391 125192  99%    0.19K   5971       21     23884K dentry
 39676  38926  98%    0.57K   1417       28     22672K radix_tree_node
 76318  76183  99%    0.18K   3469       22     13876K vm_area_struct
  1098   1086  98%   10.31K    366        3     11712K task_struct
 15750  15728  99%    0.62K    630       25     10080K inode_cache
 95982  95685  99%    0.08K   1882       51      7528K Acpi-State
 50880  50760  99%    0.13K   1696       30      6784K kernfs_node_cache
  5824   5433  93%    1.00K    182       32      5824K kmalloc-1k
164352 163970  99%    0.03K   1284      128      5136K kmalloc-32
  6992   6992 100%    0.70K    304       23      4864K proc_inode_cache
 18080  17735  98%    0.25K    565       32      4520K filp
  2080   2046  98%    2.00K    130       16      4160K kmalloc-2k
   944    902  95%    4.00K    118        8      3776K kmalloc-4k
  4700   4352  92%    0.77K    235       20      3760K shmem_inode_cache
  9555   9555 100%    0.38K    455       21      3640K xfs_buf
  3024   2055  67%    1.12K    108       28      3456K drm_i915_gem_object
   432    421  97%    8.00K    108        4      3456K kmalloc-8k
 76500  76252  99%    0.04K    750      102      3000K vma_lock
  9312   8071  86%    0.25K    291       32      2328K maple_node
 35648  35446  99%    0.06K    557       64      2228K anon_vma_chain
...

Six applications open, Firefox, chrome (3 tabs total, one running a podcast), Libreoffice Calc, QGIS, …

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.