AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1286254
Accepted
John Chrysostom
John Chrysostom
Asked: 2020-10-24 04:30:56 +0800 CST2020-10-24 04:30:56 +0800 CST 2020-10-24 04:30:56 +0800 CST

如何解决系统总挂起问题

  • 772

我有一台带有 Ubuntu 20.04 的新 System76 Lemur Pro 笔记本电脑。我真的很想爱上它,但我发现它每周都会完全锁定好几次,这会抑制我的感受。我正在与 System76 支持人员联系,但我也在尝试自己进行一些故障排除。我对 Linux 还很陌生,我希望不仅能学习如何修复我的机器,还能学习对未来有用的一般故障排除步骤。

系统:System76 Lemur Pro,i7,40gb RAM,单 SSD。Ubuntu 20.04。已安装所有更新。只有外围设备是插入鼠标和键盘的 USB 集线器,以及通过 USB-C 连接到 DisplayPort 适配器的外接显示器。没有什么异国情调。

崩溃:一周几次,我会回到我的笔记本电脑(通常是在它整夜闲置后的早晨),发现它对鼠标/键盘完全没有响应。使用 ALT+F_ 尝试切换到终端不会执行任何操作。ALT + PRTSCR + REISUB 不执行任何操作。按下电源按钮没有任何作用。尝试打开内部 LCD 没有任何作用。只有按住电源按钮并硬重置机器才能让我恢复。这种情况只发生过一次,当时我正在积极使用机器,Gnome 桌面保持可见,鼠标和键盘锁定,我正在听的歌曲大约 1/4 秒卡在一个循环中。只有硬重置才能恢复。

我试过的:

  • 压力测试CPU。我在运行压力测试几分钟时监控了 CPU 温度。温度从未超过 80 多度,CPU 风扇启动以控制它。这似乎是安全的,因为热/临界温度被列为 100。
  • 运行内存测试仪。循环了5次,一切都过去了。
  • 安装 Ubuntu 推荐的任何更新。
  • 查看系统日志 (/var/log/syslog)。当系统挂起时,这些日志会变成空白,并保持空白,直到我硬重置它。坠机前的任何事情看起来都非常有趣。
  • 禁用睡眠。已经被禁用,但我想我会提到它。

在这一点上,我不太确定我的下一步应该是什么。我可以查看其他日志吗?我可以运行的其他诊断程序?我是否应该假设它是一个外围设备并一次断开键盘/鼠标/显示器/集线器一个以尝试隔离?似乎不太可能是一个常见的外围设备,但谁知道呢。

编辑:/var/log/kern.log根据要求,这是一次崩溃之前的日志。它包含大量有关正在管理的 CPU 节流的信息。但是,当计算机也稳定时,此类消息也会定期出现...

Oct 22 07:52:00 system76-pc kernel: [44320.095989] mce: CPU4: Package temperature above threshold, cpu clock throttled (total events = 7775)
Oct 22 07:52:00 system76-pc kernel: [44320.095990] mce: CPU1: Package temperature above threshold, cpu clock throttled (total events = 4669)
Oct 22 07:52:00 system76-pc kernel: [44320.095992] mce: CPU3: Package temperature above threshold, cpu clock throttled (total events = 719)
Oct 22 07:52:00 system76-pc kernel: [44320.095992] mce: CPU6: Package temperature above threshold, cpu clock throttled (total events = 752)
Oct 22 07:52:00 system76-pc kernel: [44320.095994] mce: CPU7: Package temperature above threshold, cpu clock throttled (total events = 752)
Oct 22 07:52:00 system76-pc kernel: [44320.096970] mce: CPU2: Package temperature/speed normal
Oct 22 07:52:00 system76-pc kernel: [44320.096972] mce: CPU0: Package temperature/speed normal
Oct 22 07:52:00 system76-pc kernel: [44320.096972] mce: CPU5: Package temperature/speed normal
Oct 22 07:52:00 system76-pc kernel: [44320.096973] mce: CPU3: Package temperature/speed normal
Oct 22 07:52:00 system76-pc kernel: [44320.096974] mce: CPU6: Core temperature/speed normal
Oct 22 07:52:00 system76-pc kernel: [44320.096974] mce: CPU7: Core temperature/speed normal
Oct 22 07:52:00 system76-pc kernel: [44320.096975] mce: CPU4: Package temperature/speed normal
Oct 22 07:52:00 system76-pc kernel: [44320.096976] mce: CPU1: Package temperature/speed normal
Oct 22 07:52:00 system76-pc kernel: [44320.096977] mce: CPU6: Package temperature/speed normal
Oct 22 07:52:00 system76-pc kernel: [44320.096977] mce: CPU7: Package temperature/speed normal
laptop freeze crash 20.04
  • 2 2 个回答
  • 773 Views

2 个回答

  • Voted
  1. Doug Smythies
    2020-10-25T07:57:00+08:002020-10-25T07:57:00+08:00

    这是部分答案,基于当前信息,包括来自评论。

    从日志文件中,有迹象表明涉及高 CPU 温度,因此系统不断达到其节流温度限制。但是,CPU 压力测试表明没有问题。

    作为测试,找到不可能出现 CPU 热问题的系统操作点,并以该方式运行足够长的时间以确定对系统稳定性的影响。此测试的成本将是性能。稍后,应研究适当的热守护程序(thermald、tlp、...)作为恢复最大性能的方法。

    i7-10510U 的默认 CPU 频率缩放驱动程序是 intel_pstate,这个答案是为该驱动程序编写的。通过以下方式检查:

    doug@s15:~$ grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver:intel_cpufreq
    /sys/devices/system/cpu/cpu1/cpufreq/scaling_driver:intel_cpufreq
    /sys/devices/system/cpu/cpu2/cpufreq/scaling_driver:intel_cpufreq
    /sys/devices/system/cpu/cpu3/cpufreq/scaling_driver:intel_cpufreq
    /sys/devices/system/cpu/cpu4/cpufreq/scaling_driver:intel_cpufreq
    /sys/devices/system/cpu/cpu5/cpufreq/scaling_driver:intel_cpufreq
    /sys/devices/system/cpu/cpu6/cpufreq/scaling_driver:intel_cpufreq
    /sys/devices/system/cpu/cpu7/cpufreq/scaling_driver:intel_cpufreq
    

    mprime (prime95) 高温折磨测试被用作 CPU 压力测试,因为它在我测试过的所有 CPU 压力测试中消耗最多的能量。为了保护我的示例计算机,它没有运行热守护程序,将从低端找到大约 80 度的所需工作点。首先,记下当前的最大 CPU 频率百分比,同时记下最小值(你的会有所不同):

    cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
    doug@s15:~$ cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
    100
    doug@s15:~$ cat /sys/devices/system/cpu/intel_pstate/min_perf_pct
    42
    

    如果某些热守护程序已经在限制事物,它可能不是 100%。无论如何,我将从 50% 开始:

    doug@s15:~$ echo 50 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
    50
    

    然后逐渐提高最大 CPU 频率百分比,例如以 10% 的增量,并找到处理器封装温度约为 80 度的工作点:

    doug@s15:~$ sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,PkgTmp,PkgWatt,GFXWatt,IRQ --interval 6
    Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt GFXWatt
    
    0.25    1754    725     25      3.81    0.12
    0.02    1600    288     26      3.70    0.12
    0.06    1600    360     26      3.70    0.12
    38.82   1899    7740    39      16.28   0.12
    100.00  1900    17594   41      36.20   0.12   <<< mprime torture test started
    100.00  1900    17541   42      36.44   0.12
    100.00  1900    17552   43      36.39   0.12
    100.00  1900    17517   44      36.25   0.12
    100.00  1927    17474   48      36.95   0.12
    100.00  2300    17389   49      46.51   0.12
    100.00  2300    17367   50      46.60   0.12
    100.00  2300    17362   52      46.69   0.12
    100.00  2300    17438   53      46.77   0.12
    100.00  2552    18440   56      54.18   0.12
    100.00  2700    17672   58      58.48   0.12
    100.00  2700    17590   58      58.59   0.12
    100.00  2700    17710   61      58.74   0.12
    100.00  2953    17780   66      67.91   0.12
    100.00  3100    17876   68      73.38   0.12  <<<< First time at 80%, temp lags.
    100.00  3100    17843   69      73.55   0.12
    100.00  3100    17860   70      73.64   0.12
    100.00  3100    18794   71      73.78   0.12
    100.00  3231    17826   77      79.69   0.12
    100.00  3500    18305   80      92.33   0.12
    100.00  3500    17765   81      92.66   0.12
    100.00  3457    17747   80      90.72   0.12
    100.00  3300    17720   81      82.62   0.12
    100.00  3300    17723   81      82.72   0.12
    100.00  3300    17708   80      82.81   0.12
    100.00  3300    17712   83      82.95   0.12  <<<< Opps too high
    100.00  3300    17788   82      83.08   0.12
    100.00  3204    17882   81      79.25   0.12
    100.00  3100    17778   80      74.78   0.12
    100.00  3100    18571   81      74.83   0.12
    100.00  3100    17806   80      74.85   0.12
    100.00  3100    17787   80      74.89   0.12 <<<< 80 percent seems stable
    100.00  3100    17772   81      74.84   0.12
    100.00  3100    17824   81      74.85   0.12
    100.00  3100    17777   80      74.89   0.12
    100.00  3100    17799   81      74.95   0.12
    100.00  3100    17867   81      74.77   0.12
    

    因此,对于我的系统,将 CPU 频率限制为最大值的 80% 将使它们远离任何内置的额外热节流。以这种方式运行系统一段时间。

    • 0
  2. Best Answer
    John Chrysostom
    2020-11-03T05:01:15+08:002020-11-03T05:01:15+08:00

    这是与 CPU 电源管理相关的内核错误。它在 Ubuntu 20.10 附带的内核 5.8 中得到修复。我升级到 20.10,关闭了所有解决方法,现在运行稳定。

    如果您不想升级到 5.8/20.10,您还可以通过阻止 CPU 进入低功耗状态来解决该错误(这显然会缩短电池寿命)。打开并/etc/default/grub添加intel_idle.max_cstate=1. GRUB_CMDLINE_LINUX_DEFAULT保存,运行sudo update-grub,然后重新启动。反转该过程以反转解决方法。

    高于 1 的 cstate 值可能仍然是一种稳定的解决方法,但我从未进行过足够的实验来验证。

    • 0

相关问题

  • 在显卡之间切换

  • 修复台式机和笔记本电脑 Ubuntu 10.04 机器中的笔记本电脑硬盘驱动器加载周期/kerchunking [关闭]

  • Thinkpad T60 闪屏

  • 如何在默认设置不起作用的笔记本电脑上使休眠/睡眠工作?

  • 如何解决联想笔记本电脑上恢复/电源问题时禁用的蓝牙?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve