Skip to content

Constant CPU usage per instance when idle #1782

@Zapeth

Description

@Zapeth

I'm seeing a constant 2.7-3% CPU usage on my system in top when launching a kitty instance, other terminals that I have tested do not show this behavior (urxvt, alakritty).

Output kitty --debug-config:

kitty 0.14.2 created by Kovid Goyal
Linux nichijou 4.19.57-1-lts #1 SMP Wed Jul 3 16:05:59 CEST 2019 x86_64
Arch Linux \r (\l)
Running under: X11

Config options different from defaults:

Hardware:

CPU:       Topology: Dual Core model: Intel Core i5-6300U bits: 64 type: MT MCP arch: Skylake rev: 3 L2 cache: 3072 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 19968 
           Speed: 906 MHz min/max: 400/3000 MHz Core speeds (MHz): 1: 986 2: 983 3: 981 4: 994 
Graphics:  Device-1: Intel Skylake GT2 [HD Graphics 520] vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 
           Display: tty server: X.org 1.20.5 driver: i915 resolution: <xdpyinfo missing> 
           OpenGL: renderer: Mesa DRI Intel HD Graphics 520 (Skylake GT2) v: 4.5 Mesa 19.1.1 direct render: Yes 

I also have Gentoo running on the same machine with Wayland, and a quick check seemed to show the same problem, so I guess its either something in kitty's code or something device/driver-specific that causes this behavior.

I tried changing a couple of settings as well:
sync_to_monitor no -> had no visible effect on the usage

repaint_delay 100
input_delay 30

-> lead to a reduced CPU usage of about 0.3 - 0.4%, but still a constant factor (whereas other terminals would only occasionally show some non-zero usage)

Last but not least I saw some references to a README in a couple of issues for more detailed steps on how to better debug this, but I'm unable to find it so a link would be appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions