Hi everyone!

My daily driver is a Surface Go 1 running Fedora with 8GB of ram and 128GB of storage. It is always hooked up to a Philips 273B screen via USB-C.

Most of the time, it is really fast and a perfect tiny Linux and Gnome machine easily hookable to a big screen for when you’re not travelling.

However, sometimes, after installing updates but maybe not always, it is slow as hell. Sometimes, detaching the Surface from the big screen and hooking it again, solves the issue, but not always. It is a behavior I already had when I was using Ubuntu and I’ve had on Fedora since version 36.

Here are some useful printscreens from HTOP and the ressource management system:

#high cpu usage

#low cpu usage

I thought that maybe installing the Surface kernel would stop the issue, but it didn’t…

Sometimes it’s annoying enough to make me just want to use my wife’s MacBook Pro 2012 running Fedora as a daily driver but the form factor is less practical.

Thanks in advance for any help!

Edit: it happens on startup, even after days of inactivity

  • kumi@feddit.online
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    2
    ·
    edit-2
    6 hours ago

    Apart from what others said about power/throttling, I wonder if the filled up memory during the upgrade (or other memory-heavy use) pushes some central pages to swap and then they stay there after?

    After the upgrade and you have plenty of free memory again you can force back everything to RAM by temporarily disabling swap:

    swapoff $swapdev && swapon $swapdev  
    

    To list swap devices, just run swapon.

    Also switching to an X11 window manager can be quite a lot snappier than modern GNOME for older hardware. You could try Xfce, Cinnamon, MATE, or KDE with the X session.

    If it’s not throttling/thernals, I wouldn’t be surprised if those two together is what made things worse after migrating dist.

    If you’ve been swapping heavily over time you might also want to check disk health with smartctl and check that you don’t have related errors in dmesg.

    If you press tab in htop you can also see if there is high IO load going on.

      • kumi@feddit.online
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        6 hours ago

        Hence:

        After the upgrade and you have plenty of free memory again

        If it’s like the last htop image should be no problem.

        • atzanteol@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 hours ago

          Turning off swap could make things much worse though. The system will have less memory for file caches.

          I’d leave swap alone, just monitor for whether the system is paging frequently. “vmstat 3” should show if you’re writing to swap frequently.

          • kumi@feddit.online
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            6 hours ago

            Turning off swap could make things much worse though

            How so, given that we immediately re-enable the same swap device right after so that it’s only off for a very brief moment? Let go :)

            Anecdotally, this maneuver can help tremendously tonrecover responsiveness in some cases. I guess the overall sitiation could be improved by tweaking vm.swappiness.

            • atzanteol@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              2
              arrow-down
              1
              ·
              5 hours ago

              How so, given that we immediately re-enable the same swap device right after so that it’s only off for a very brief moment? Let go :)

              $ free -m
                            total        used        free      shared  buff/cache   available
              Mem:           64141       17213       24010        1984       30297       46927
              Swap:          20479           0       20479
              

              See that buff/cache column? That’s memory being used by the system for caching. Files you you open and access get cached into memory as do inodes, filesystem objects, etc. If you run a “find / -type f” twice in a row the second one will be significantly faster because the first run cached a lot of objects into memory.

              By starving the system of memory all that will be flushed and you get more disk access doing things you’re actually trying to do. Whereas things sitting in swap are there because they aren’t currently needed.

              By turning off swap and then back on again you’re just forcing the system to drop all that cache which it will then attempt to reclaim space for and push things back out to swap.

              I don’t know what benefit you think you’ll gain in the process.