-
-
Notifications
You must be signed in to change notification settings - Fork 442
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
100% disk usage without any process on I/O #1287
Comments
What does the I/O tab show? I'm guessing nothing but still would be good to have a look. Its a very strange pattern where the Disk IO meter shows 100% use (from memory this is calculated using time-based fields from /proc/diskstats) but zero read/write bytes (those two are calculated from different fields based on IO's and bytes read/written) - indicates a very small number of small I/Os are taking a long time to complete (queued? slow device?). Is CPU 11 showing ~100% I/O wait time or is that gray something else? It might be useful to add the PROCESSOR column (via F2/Setup) and see if that identifies a process running on that CPU? Bit of a long shot but you never know. fatrace will only show application-level file I/O; you may have something happening at a lower level - try blktrace too. |
Thanks for the detailed feedback @natoscott. Below is a screenshot of the IO tab. The grey is indeed the color of IO. Also added the PROCESSOR column, there might be some overlap of IO in processor 11 and kwin_x11 CPU usage, but still uncertain. A weird fact I've forgot to mention that this never happens when running htop with sudo, only with my personal user. Here it is a sample shot for When using
Although I also have a second NVMe, 3 USB HDDs, and 1 SATA HDD in the same machine. They are mostly inactive as they are there for backup and bigger files storage. |
Can you run the 'sudo htop' with the same htoprc file as your regular user? (there's no Disk IO meter shown currently) And is that blktrace output from the same time htop is showing 100% I/O? (and how long was blktrace running there) |
With the same Here it is a close to 1min new run of blktrace while having 100% disk usage in htop:
I've run in all other block devices and all of them only return 1 event. |
Interesting! There's two things that spring to mind then:
Try switching off the htop systemd Meter next and see if the problem goes away. |
I suspect that's just hiding the issue by not showing I/O wait anymore. See if 'iostat 1 10' shows any discard I/O? That's the only other thing I can think of that might explain it. |
the 100% disk issue is gone for a while. I'll check iostat once it is back. thank you @natoscott for you kind support! I'll close the issue as it is definitely a question instead of an htop issue |
I guess this is a duplicate of #1278... Did you install relevant kernel updates? |
I think so, here it is:
|
It is likely that discard is the culprit @natoscott, also because I use btrfs which is heavy on it. Below is a
Maybe htop should show discard activity just after reads and writes? |
@brauliobo good idea. The pcp-htop build of htop from #1243 adds a new "Disks" tab which shows the iostat output above, so once that's merged that'll be another way htop could help solve this class of issue. |
A general advice for others having this issue: it might be an issue with very slow discard on Seagate FireCuda NVMe drives. This is one of the reports: https://bbs.archlinux.org/viewtopic.php?id=264119 A workaround is to enable the |
And the definitive fix is to update its firmware which can be downloaded from https://apps1.seagate.com/downloads/certificate.html?action=performDownload&key=203660060052 and with the commands below:
then load firmware
unfortunately, |
Please see the screenshot:
Besides
htop
I/O tab, I'm also usingiotop
andfatrace -f r
/fatrace -f w
to try to find where the IO is coming from. Both show almost no relevant IO when idle, also because I'm usinganything-sync-daemon
to reduce IO in a couple of applicationsIs there any other way to find the origin of this persistent 100% IO?
I'm using Archlinux, Seagate's 2tb SSD and BTRFS with zstd compression and snapshots
The text was updated successfully, but these errors were encountered: