我正在 Dell Latitude 7480 上运行 Debian 测试。
我遇到了很多冻结问题,最后我将其范围缩小到过热问题。使用电池,我可以毫无问题地工作 1 小时以上,有时系统会冻结:鼠标停止移动,键盘的背光灯不关闭,我无法通过 SSH 连接到这台机器。使用交流电源时,插入电源 15-20 分钟后也会出现同样的情况;发生这种情况时,笔记本电脑的底部非常热(不是烫手,只是比应有的温度高)。我目前在使用交流电的这台机器上,21 分钟后它还没有冻结,但我连接了一个 USB 风扇。
问题是风扇永远不会启动。我watch sensors
昨天全程跑步,气温确实有变化;然而,风扇速度在一个监视周期(2秒)内总是变为正数,并在一两秒后返回到零;因此系统读取风扇旋转大约 2-4 秒,然后停止,但我从未听到过。我知道风扇工作,因为我运行了板载诊断工具,风扇不仅启动了,而且在内存测试期间的某个时刻我可以听到它全速运转的声音。
编辑:我忘了提及,在某个时刻我运行了sensors-detect
,这表明我添加了模块fan
和,我coretemp
确实/etc/modules
这样做了。当我运行时lsmod
,两个模块始终在Used by
列上显示 0。
昨天20点15分系统死机了,今天查了一下/var/log/syslog
,发现是这样的:
Mar 9 20:15:01 host CRON[1203]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
我搜索了这个,我得到的只是这个帖子,但我看不出它与我的问题有任何关系(我确实安装了 Apache,但这不是服务器,而是笔记本电脑,而且我在这里不运行 mysql;此外,CPU 计量表也没有上升,并且重新启动并不比平时慢)。类似的情况还有很多,但我不记得所有这些都是在系统冻结时发生的;我确信并非所有人都这样做,因为其中一些后面有更多日志行表明机器仍在运行。
我可以收集的唯一其他信息如下,也来自/var/log/syslog
:
Mar 10 18:45:20 host sensors[600]: dell_smm-isa-0000
Mar 10 18:45:20 host sensors[600]: Adapter: ISA adapter
Mar 10 18:45:20 host sensors[600]: Processor Fan: 0 RPM (min = 0 RPM, max = 6600 RPM)
Mar 10 18:45:20 host sensors[600]: CPU: +39.0°C
Mar 10 18:45:20 host sensors[600]: Ambient: +24.0°C
Mar 10 18:45:20 host sensors[600]: SODIMM: +23.0°C
Mar 10 18:45:20 host sensors[600]: Other: +24.0°C
Mar 10 18:45:20 host sensors[600]: nvme-pci-3c00
Mar 10 18:45:20 host sensors[600]: Adapter: PCI adapter
Mar 10 18:45:20 host sensors[600]: Composite: +23.9°C (low = -273.1°C, high = +84.8°C)
Mar 10 18:45:20 host sensors[600]: (crit = +89.8°C)
Mar 10 18:45:20 host sensors[600]: acpitz-acpi-0
Mar 10 18:45:20 host sensors[600]: Adapter: ACPI interface
Mar 10 18:45:20 host sensors[600]: temp1: +25.0°C (crit = +107.0°C)
Mar 10 18:45:20 host fancontrol[608]: Settings for hwmon6/pwm1:
Mar 10 18:45:20 host fancontrol[608]: Depends on hwmon6/temp1_input
Mar 10 18:45:20 host fancontrol[608]: Controls hwmon6/fan1_input
Mar 10 18:45:20 host fancontrol[608]: MINTEMP=20
Mar 10 18:45:20 host fancontrol[608]: MAXTEMP=60
Mar 10 18:45:20 host fancontrol[608]: MINSTART=150
Mar 10 18:45:20 host fancontrol[608]: MINSTOP=100
Mar 10 18:45:20 host fancontrol[608]: MINPWM=0
Mar 10 18:45:20 host fancontrol[608]: MAXPWM=255
Mar 10 18:45:20 host fancontrol[608]: AVERAGE=1
Mar 10 18:45:20 host systemd[1]: Started fan speed regulator.
Mar 10 18:45:20 host fancontrol[787]: Common settings:
Mar 10 18:45:20 host fancontrol[787]: INTERVAL=10
Mar 10 18:45:20 host ModemManager[795]: <info> ModemManager (version 1.18.6) starting in system bus...
Mar 10 18:45:20 host fancontrol[787]: Settings for hwmon6/pwm1:
Mar 10 18:45:20 host fancontrol[787]: Depends on hwmon6/temp1_input
Mar 10 18:45:20 host fancontrol[787]: Controls hwmon6/fan1_input
Mar 10 18:45:20 host fancontrol[787]: MINTEMP=20
Mar 10 18:45:20 host fancontrol[787]: MAXTEMP=60
Mar 10 18:45:20 host fancontrol[787]: MINSTART=150
Mar 10 18:45:20 host fancontrol[787]: MINSTOP=100
Mar 10 18:45:20 host fancontrol[787]: MINPWM=0
Mar 10 18:45:20 host fancontrol[787]: MAXPWM=255
Mar 10 18:45:20 host fancontrol[787]: AVERAGE=1
上面两个块并不连续,但都是相关信息。以下是我认为相关的一些文件的内容:
cat /sys/devices/platform/dell_smm_hwmon/driver_override
(null)
cat /sys/devices/platform/dell_smm_hwmon/uevent
DRIVER=dell_smm_hwmon
MODALIAS=platform:dell_smm_hwmon
cat fancontrol
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon6=devices/platform/dell_smm_hwmon
DEVNAME=hwmon6=dell_smm
FCTEMPS=hwmon6/pwm1=hwmon6/temp1_input
FCFANS= hwmon6/pwm1=hwmon6/fan1_input
MINTEMP=hwmon6/pwm1=20
MAXTEMP=hwmon6/pwm1=60
MINSTART=hwmon6/pwm1=150
MINSTOP=hwmon6/pwm1=100
最后一个已经在上面的 syslog 块中,但我仍然在这里重现它。
我在 Linux 上遇到的所有没有风扇的解决方案都建议我安装fancontrol
然后运行pwmconfig
.我第一次尝试时收到一条错误消息,告诉我没有/etc/fancontrol.conf
文件;我尝试在插入 USB 风扇时运行此命令并且它有效。为了安全起见,我只是按 Enter 键以默认参数生成配置文件,但我仍然听不到风扇的声音。正如我上面所说,程序sensors
告诉我速度每 2-4 秒变化一次,但是风扇永远听不到声音,也不会一直开着。风扇在 Windows 上工作(这台笔记本电脑曾经有它,但我用新的更换了 SSD,但保留并没有格式化旧的),正如我上面所说,也在板载诊断工具中工作。我还在 U 盘上运行了 Puppy Linux,它没有这个问题,尽管我也没有听到风扇工作的声音。
有没有办法正确配置fancontrol
来解决这个问题?还有其他选择吗?我可以很好地使用插入风扇的笔记本电脑,但这不是我正在寻找的解决方案。谢谢!
答案1
这种情况下的解决方案是设置修改/etc/default/grub
以包含此行:GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_osi=!Windows 2020"
。该acpi_osi
参数告诉内核将 ACPI 事件视为发生在值操作系统上。