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
Edit2: Thanks everyone for your help! I’ll see if it’s worry investigating more as the problem is more complex to solve than I thought
My Go 2 was always dog slow under GNOME with Fedora Silverblue, I ended up bagging it for a Chuwi Minibook X which is like twice as thick but all the other dimensions about the same and so much faster with an N100. The current version has an N150 which should be slightly better. All the hardware, even the camera, worked ootb. Highly recommended.
When working properly, my Go 1 is perfect and I don’t need more power. So I wouldn’t want to get rid of it and would prefer solving the problem.
But, if one day it dies, I would try to find something more Linux friendly, even if using Microsoft or Apple devices to do something they were not designed for is also quite nice😅
first, press F2 in htop and then scroll down to enable show CPU temp and frequency. you’ll know if it’s running at full speed and what the temp is when it acts like that. if it’s stuck at 400 MHz or such, it’s a BD_PROCHOT issue, which is fixable.
also, try undervolting it a bit. if you make it to -100 mV and beyond, that’s a significant decrease in heat in stress-intensive activities and makes the battery last way longer.
It’s all just speculations, both what you suggested and what others said.
You are on the right path with your screenshots but you might not be measuring the right thing.
So, you need a (paper) notebook to record objectively (not your biased feeling assuming a pattern that might not exist) when it happens and for how long. Only from then can you backtrack to WHAT causes it. Sure you can have some hypothesis (update related, screen attach/detach, BIOS, RAM, etc) but that should NOT lead to your data acquisition.
So you htop is nice but AFAICT it’s just about CPU and memory, it’s not about e.g. IO so consider instead
iotop, in particular if one process is some indexing (e.g. locatedb). Theoretically if it’s not CPU/memory (which you are saying it’s not the case) then it basically just leaves IO, that can be again indexing, some heavy process that is bottlenecked on disk access, but can also be a bug, e.g. BT pairing/unpairing that happens faster than you can notice.Think of this as a fun investigation that leads you to better understanding of your setup, good luck.
Yeah I guess you’re right, my last chance of solving the problem could be by creating a spreadsheet with as much data as possible on every occurrence…
I don’t think it would be a thrilling investigation though😅
What are IO and Iotop?
What are IO and Iotop?
Input / Output.
Reading and writing to disk, network, etc.
iotopshows 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 20479Using 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 0The columns to pay attention to there are under the
---swap--header.siis “Swap In” andsois "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.Thanks!
I have had this with some laptops if the charger is faulty. The laptop goes into a limp mode, where the CPU locks to its lowest clock speed.
Since the display is using USB-C it may be triggering the slowness. Some USB-C monitors also deliver power to the connected device.
Is the laptop slow, even when running off battery, or only when running off battery?
Keeping an eye on the CPU frequency with something like Btop can maybe help troubleshoot the issue.
That limp mode is usually controlled by ‘BD PROCHOT’, it can be disabled, but check your sensors and make sure there isn’t something wrong before doing so.
I’d run some checks in BIOS. Something is either overheating or about to die
Apparently the BIOS is up to date even if my knowledge about these is quite limited…
About something dying in the computer, it would be surprising as it has been like this for the last 4 years and only happens maybe once a month after starting…
I meant run the diagnostic checks in BIOS to see if anything is failing
Disable any file indexing service and/or repositories update that may be running on the background


