Ubuntu 22.04.3 CPU 使用率高时显示屏闪烁

Ubuntu 22.04.3 CPU 使用率高时显示屏闪烁

自 2020 年底以来,我一直是搭载 Ubuntu LTS 的 Dell Precision 5540 的幸运拥有者。直到 2-3 周前,一切都运行良好。现在,当我的 CPU 使用率很高时(例如数据分析或 Kerbal Space Program),首先显示器会滞后,然后闪烁。这只发生在集成显示器上,而不是外部屏幕上。

我有 nvidia-535 驱动程序,我的 Ubuntu 22.04.3 是最新的。通常,我使用 Nvidia“按需”模式:集成显示器使用 Intel UHD 显卡。我尝试将集成显示器切换到 Nvidia GPU 上的“性能”模式。问题有点不同:在 CPU 使用率高时屏幕变黑,没有闪烁。

我目前使用的是 linux-kernel 6.5。我尝试了内核 6.2,但出现了同样的问题。我不敢尝试内核 5.*。

我添加了行

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_dc=0 intel_idle.max_cstate=2

并且/etc/default/grub不可否认的是,过去即使在 CPU 使用率较低的情况下也会发生的问题现在已经被限制在 CPU 使用率较高的情况下。

但是,这仍然很烦人,因为在转移到更大的计算资源之前,我会使用这台笔记本电脑进行一些本地计算。三年来,我完全没有遇到任何问题。

如果有人有想法,我将不胜感激。

2 月 2 日的一些编辑:

该问题似乎与 CPU 过热有关。以下是传感器命令的结果:

coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +100.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:        +96.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:        +94.0°C  (high = +100.0°C, crit = +100.0°C)
Core 2:       +100.0°C  (high = +100.0°C, crit = +100.0°C)
Core 3:        +91.0°C  (high = +100.0°C, crit = +100.0°C)
Core 4:        +92.0°C  (high = +100.0°C, crit = +100.0°C)
Core 5:        +91.0°C  (high = +100.0°C, crit = +100.0°C)

dell_smm-isa-0000
Adapter: ISA adapter
fan1:        4335 RPM  (min =    0 RPM, max = 5100 RPM)
fan2:        4330 RPM  (min =    0 RPM, max = 5100 RPM)
temp1:        +98.0°C  
temp2:        +53.0°C  
temp3:        +57.0°C  
temp4:        +61.0°C  
temp5:        +72.0°C  
temp6:        +52.0°C  
temp7:        +38.0°C  
temp8:        +39.0°C  
temp9:        +68.0°C  
temp10:       +70.0°C  

ucsi_source_psy_USBC000:001-isa-0000
Adapter: ISA adapter
in0:           5.00 V  (min =  +5.00 V, max =  +5.00 V)
curr1:         0.00 A  (max =  +0.00 A)

BAT0-acpi-0
Adapter: ACPI interface
in0:          12.69 V  
curr1:       1000.00 uA 

iwlwifi_1-virtual-0
Adapter: Virtual device
temp1:        +37.0°C  

pch_cannonlake-virtual-0
Adapter: Virtual device
temp1:        +46.0°C  

nvme-pci-3d00
Adapter: PCI adapter
Composite:    +40.9°C  (low  = -273.1°C, high = +82.8°C)
                       (crit = +84.8°C)
Sensor 1:     +40.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +37.9°C  (low  = -273.1°C, high = +65261.8°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +25.0°C  (crit = +107.0°C)

有趣的是,戴尔预启动诊断程序没有检测到任何东西。Linux 中的某些东西现在是否允许处理器在某个阈值以上工作?

2月4日更新:

处理器过热是由于

intel_idle.max_cstate=2 

(参见这张桌子)。如果我将其移除,CPU 仍会保持在 100°C 以下,并且问题仍然会触发。

我可能遇到启用和禁用 TurboBoost 的问题。

一个有趣的特点:如果我改变屏幕分辨率或者在闪烁发生时等待它进入省电模式,那么问题就会停止(即使 CPU 仍然处于高负荷状态)。

相关内容