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

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

    What are IO and Iotop?

    Input / Output.

    Reading and writing to disk, network, etc.

    iotop shows will show applications writing and reading from disk. It’s going to likely be pretty sporadic.

    What may be happening, and what others are suggesting, is that you’re running out of memory (8gig isn’t that much these days). When that happens the system starts writing memory to disk so it can free more. That’s what you see with the “swap” usage. You can see a bit more about your memory usage with free -m:

    $ free -m
                   total        used        free      shared  buff/cache   available
    Mem:           64141       17077       24020        1981       30419       47063
    Swap:          20479           0       20479
    

    Using swap space isn’t necessarily bad. But reading/writing to it frequently can be a performance killer. You can monitor that with a command called vmstat:

    $ vmstat -w 3
    --procs-- -----------------------memory---------------------- ---swap-- -----io---- -system-- ----------cpu----------
       r    b         swpd         free         buff        cache   si   so    bi    bo   in   cs  us  sy  id  wa  st  gu
       1    0            0     24590136        70748     31066604    0    0   228   309 9959   18   8   1  91   0   0   0
       0    0            0     24595172        70748     31065076    0    0     0   119 3159 6677   2   1  98   0   0   0
       2    0            0     24607436        70748     31070316    0    0  2300    75 3147 6693   2   1  97   0   0   0
       0    0            0     24594892        70748     31070316    0    0     0   584 3417 5950   1   1  98   0   0   0
    

    The columns to pay attention to there are under the ---swap-- header. si is “Swap In” and so is "Swap Out. Those are reads/writes to and from swap space. Seeing a little activity there is fine. It is typically pretty spikey. But if you’re seeing lots of numbers there then it could just indicate that you’re running low on memory and the OS needs to move things to and from disk frequently. While it’s moving things to and from the disk the application trying to use that memory has to wait.