Xorg.bin 随机使用 100% CPU(大部分在切换 TTY 之后),使用 i915

Xorg.bin 随机使用 100% CPU(大部分在切换 TTY 之后),使用 i915

我使用的是 64 位的 Arch Linux,ThinkPad x201,它使用(我认为)Intel i5 CPU 中的集成图形芯片。

有时,Xorg 会完全占用一个核心几分钟。它完全冻结了,我必须通过 SysRq 杀死它,或者使用 SysRq+R 然后切换 tty 来尝试调试它。

这种情况会自行随机发生,并且也会在启动后短暂发生。触发器包括 TTY 切换以及拔出/插入键盘或 USB 集线器。

几分钟后,它再次响应,但这对我的电池寿命不利,我必须使用 SysRq 来终止它。

我正在寻找修复方法、解决方法,或者至少寻找有关在哪里报告该问题以及到底报告什么内容的信息。似乎没有集中的 X bugtracker。

这是我的一些调试尝试:

它似乎陷入了循环:(我使用 strace 命令得到了这个)

斯特雷斯

setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
select(256, [1 5 7 8 12 14 15 21 23 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57], NULL, NULL, {0, 0}) = 2 (in [31 39], left {0, 0})
setitimer(ITIMER_REAL, {it_interval={0, 5000}, it_value={0, 5000}}, NULL) = 0
recvmsg(39, {msg_name(0)=NULL, msg_iov(1)=[{"!\0\4\0\201\0\0\0\f\0y\1\1\0\0\0!\0\4\0\201\0\0\0\34\0y\1\1\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 68
writev(39, [{"\1\2v\251\0\0\0\0\5\0\340\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 32}], 1) = 32
recvmsg(39, {msg_name(0)=NULL, msg_iov(1)=[{"\207\10\7\0\0\1\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0y\1", 4096}], msg_controllen=0, msg_flags=0}, 0) = 28
writev(39, [{"\1\3w\251\364\4\0\0\0\0\10\377\7\0\0\32\32\10\307\1\370\0\0\0\0\0\0\0\0\0\0\10"..., 40}], 1) = 40
writev(39, [{"\0\0\0\0\1\0\0\0\1\1\0\0\2\1\0\0\1\1\1\1\0\0\0\0\3\3\0\0\2\2\0\0"..., 5064}], 1) = 5064
recvmsg(39, 0x7fff5c82aee0, 0)          = -1 EAGAIN (Resource temporarily unavailable)

以下是在我的 dmesg 中发现的一些错误,这些错误似乎与冻结有关。

消息

[  136.322574] [drm:ilk_display_irq_handler] *ERROR* Pipe B FIFO underrun
[  136.322583] [drm:ibx_irq_handler] *ERROR* PCH transcoder B FIFO underrun

/var/log/Xorg.log.0

那里没有任何有趣的东西,只有警告或错误

[     3.890] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[     5.665] (WW) evdev: SIGMACHIP USB Keyboard: ignoring absolute axes.
[    10.609] (WW) evdev: SIGMACHIP USB Keyboard: ignoring absolute axes.

显卡(来自 lshw)

至少我相信这是显卡,不确定。

 *-display
             description: VGA compatible controller
             product: Core Processor Integrated Graphics Controller
             vendor: Intel Corporation
             physical id: 2
             bus info: pci@0000:00:02.0
             version: 02
             width: 64 bits
             clock: 33MHz
             capabilities: msi pm vga_controller bus_master cap_list rom
             configuration: driver=i915 latency=0
             resources: irq:24 memory:f2000000-f23fffff memory:d0000000-dfffffff ioport:1800(size=8)

CPU信息

Handle 0x0006, DMI type 4, 42 bytes
Processor Information
    Socket Designation: None
    Type: Central Processor
    Family: Other
    Manufacturer: GenuineIntel
    ID: 52 06 02 00 FF FB EB BF
    Version: Intel(R) Core(TM) i5 CPU       M 520  @ 2.40GHz
    Voltage: 1.3 V
    External Clock: 133 MHz
    Max Speed: 2400 MHz
    Current Speed: 2400 MHz
    Status: Populated, Enabled
    Upgrade: None
    L1 Cache Handle: 0x000A
    L2 Cache Handle: 0x000B
    L3 Cache Handle: 0x000C
    Serial Number: Not Specified
    Asset Tag: Not Specified
    Part Number: Not Specified
    Core Count: 2
    Core Enabled: 2
    Thread Count: 4
    Characteristics: None

Gfx驱动i915版本

~ $ pacfind i915

    extra/xf86-video-intel 2.99.916-3 (xorg-drivers xorg) [installed]
        X.org Intel i810/i830/i915/945G/G965+ video drivers

Xorg版本

~ $ pacinfo xorg-server
Name           : xorg-server
Version        : 1.16.2-1
Architecture   : x86_64

相关内容