Package is installed from It's basically unusable. Each new tab and new line of output adds iowait. There is a plenty of RAM available. No disk usage. strace also shows no any weird behaviour. |
Replies: 23 comments 59 replies
|
Discussion until we can debug and extract some actionable info. We have a lot of arch users. |
|
I'm also on Arch (Plasma 6.2.4, Linux-LTS 6.6.67, Intel Kabylake GPU) and seeing high iowait. It goes up by about 23 at first launch and then an extra 13 for every tab launched. Curiously, I was first alerted because Plasma's System Monitor was showing 100% Total Usage on two cores, increasing by an extra two cores for roughly every two tabs. Turns out that figure includes iowait. |
|
I'm experiencing the same cpu hogging on Ubuntu 24.04, using kernel 6.8.0-51-generic CPU: 11th Gen Intel(R) Core(TM) i7-1185G7 |
|
I can also report this issue on amd64 Gentoo CPU: 12th Gen Intel(R) Core(TM) i7-1260P |
|
I can also report the same issue on Manjaro under Plasma 6.2.4-1, with kernel 6.6.65-1-MANJARO |
|
Same on Arch with hardened kernel |
|
I have this issue on nixos how can I implement @plinkr 's solution? |
This comment was marked as off-topic.
This comment was marked as off-topic.
|
Same here on NixOS using the official flake. Rev:
|
|
I read source code libxev, Epoll uses single thread, io_uring uses multi threads. When ghostty starts, it holds io_exec - shell. and when io_uring is coming, per tab will handle per io_exec per thread while EPoll only triggers event for specific thread's event. Then it's not kernel issue. |
|
I can confirm that on my machine the solution using epoll solves the issue. My specs from fastfetch: When I run the version installed via my package manager, some tools report 10-15% more CPU usage for each instance of Ghostty running, but after |
|
Just wanna chime in and say that I'm also experiencing high iowait times on Fedora 41 with KDE Plasma 6.2.5, Linux 6.11.11, which unfortunately messes up my hardware monitoring metrics. Was using 1.0.1 built from copr repo. Using plinkr's solution (thank you <3 ), building with epoll, has fixed the issue for me! Build info: |
|
I do not know how to analyse it, but slower than alacritty and kitty is obvise. I use the arch alph v4 version |
|
@mitchellh Anything we can do to help? I'm running Arch on both Intel and AMD, with the same problem. |
|
fix coming into kde cpu monitor plugin that solves the only issue I had with it. maybe everyone else should also simply ignore iowait? is it actually a useful stat? |
|
Using the stock package (currently 1.1.2-1) on Arch, I see very high CPU usage in |
|
After the commit d532a6e, you can configure the async-backend to use whichever one you prefer. If you experience issues with high iowait, you can configure and restart it afterwards. You no longer need to recompile. |
|
More context: The trouble with iowait [LWN.net] |
|
I installed ghostty last week for the first time and was mystified when I later discovered all of my CPUs were at 99% iowait at all times. Once I found this post and changed async-backend to epoll I stopped having this problem. I feel like this should be noted in the documentation rather than in a discussion because it was quite frustrating trying to identity where this iowait was coming from. I will note that for anyone using hyprland, leaving this settings on auto (resulting in uring) eventually caused all of my ghostty windows to trigger ANR and it was forced to terminate them all or have them entirely freeze permanently if I chose 'wait' instead. |
|
Would using IORING_ENTER_NO_IOWAIT still alloy for the features of uring without generating high iowait times? |
|
Chimming in to confirm that after debugging this for days on CachyOS machine, I have accidentally tried booting into X11/openbox with xterm to have IOWAIT disappear. Setting appears to fully resolve the problem. I do not however agree, that it is just a reporting problem, because I had experienced general system lockups and freezes/stalls. |


After the commit d532a6e, you can configure the async-backend to use whichever one you prefer. If you experience issues with high iowait, you can configure
ghosttylike this:and restart it afterwards. You no longer need to recompile.