基于 Ryzen 的系统、16.04 LTS 和较新的内核经常出现冻结

基于 Ryzen 的系统、16.04 LTS 和较新的内核经常出现冻结

我正在运行 Ryzen 1700X CPU 并进行计算。运行 16.04 LTS(内核 4.10)时,系统时不时崩溃。系统无法重新启动。显示屏上没有信号,键盘和鼠标不工作。我无法通过 SSH 连接。

我保存了内核日志系统日志运行 16.04 LTS 时的文件。

在阅读了几篇文章,并了解了有关新架构和问题后,我决定尝试更新的内核,并从 4.12.8(2017 年 8 月 16 日)转移到这里我用的是这个在 AskUbuntu 上发帖更新内核。系统启动正常,我的应用程序运行良好,目前已约 10 小时。

大约 11 小时后,系统再次崩溃,并显示与 16.04 LTS 上的内核 4.10 相同的消息syslog,如下所示。{内核和系统日志文件,内核为 4.12:带有新内核的 kern.log新内核的系统日志}

Aug 18 17:27:13 vriksha systemd[1]: Starting Cleanup of Temporary Directories...
Aug 18 17:27:13 vriksha systemd-tmpfiles[4661]: [/usr/lib/tmpfiles.d/var.conf:14] Duplicate line for path "/var/log", ignoring.
Aug 18 17:27:13 vriksha systemd[1]: Started Cleanup of Temporary Directories.
Aug 18 17:28:25 vriksha ntpd[1516]: 209.242.224.117 local addr 192.168.2.15 -> <null>
Aug 18 17:35:01 vriksha CRON[4821]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Aug 18 17:35:40 vriksha systemd[1]: Started Session 5 of user vani.
Aug 18 17:42:18 vriksha sensord: Chip: amdgpu-pci-2700
Aug 18 17:42:18 vriksha sensord: Adapter: PCI adapter
Aug 18 17:42:18 vriksha sensord:   fan1: 1423 RPM
Aug 18 17:42:18 vriksha sensord:   temp1: 43.0 C
Aug 18 17:42:18 vriksha sensord: Chip: asus-isa-0000
Aug 18 17:42:18 vriksha sensord: Adapter: ISA adapter
Aug 18 17:42:18 vriksha sensord:   cpu_fan: 0 RPM
Aug 18 17:45:01 vriksha CRON[6142]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Aug 18 17:55:01 vriksha CRON[6431]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Aug 18 18:05:01 vriksha CRON[6607]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Aug 18 18:09:52 vriksha kernel: [ 3459.913711] perf: interrupt took too long (2529 > 2500), lowering kernel.perf_event_max_sample_rate to 79000
Aug 18 18:12:18 vriksha sensord: Chip: amdgpu-pci-2700
Aug 18 18:12:18 vriksha sensord: Adapter: PCI adapter
Aug 18 18:12:18 vriksha sensord:   fan1: 1431 RPM
Aug 18 18:12:18 vriksha sensord:   temp1: 40.0 C
Aug 18 18:12:18 vriksha sensord: Chip: asus-isa-0000
Aug 18 18:12:18 vriksha sensord: Adapter: ISA adapter
Aug 18 18:12:18 vriksha sensord:   cpu_fan: 0 RPM
Aug 18 18:15:01 vriksha CRON[6785]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Aug 18 18:17:01 vriksha CRON[6825]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Aug 18 18:25:01 vriksha CRON[6967]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)

读完上述消息的最后一行(在 中syslog)后,系统冻结了。我不得不重置才能再次重新启动。使用新内核时,这种情况再次发生。

系统详细信息:

CPU-1700X Ryzen, No SMT, BIOS version- 3401 dated 12/08/2017 (AGESA 1071)
RAM 32 GB
AMD RX 470 GPU 
Lubuntu 16.04 LTS, LXDE with Openbox

有人能帮帮我吗?


更新

我正在运行的应用程序未使用gcc, g++

  1. lspci输出是这里

  2. dmesg | egrep 'drm|radeon'输出是这里

  3. (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)与我删除的软件包有关sysstat。问题仍然存在。

  4. glxinfo | grep -i openAMD RX 470 GPU 的输出如下

    glxinfo | grep -i open 
    OpenGL vendor string: X.Org
    OpenGL renderer string: Gallium 0.4 on AMD POLARIS10 (DRM 3.15.0 / 4.12.8-041208-generic, LLVM 4.0.0)
    OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.0.7
    OpenGL core profile shading language version string: 4.50
    OpenGL core profile context flags: (none)
    OpenGL core profile profile mask: core profile
    OpenGL core profile extensions:
    OpenGL version string: 3.0 Mesa 17.0.7
    OpenGL shading language version string: 1.30
    OpenGL context flags: (none)
    OpenGL extensions:
    OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.0.7
    OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
    OpenGL ES profile extensions:
    
  5. 我只将一台显示器连接到这台计算机。只有在长时间运行 CPU 密集型任务时才会发生崩溃。(我让系统显示器关闭,控制它,通过 SSH 连接检查它。大约 5-6 小时后,SSH 连接不可用。回到机器后,移动鼠标和键盘无法使显示器恢复。需要硬重置)。

  6. 为了检查这是否是由 GPU 引起的,我换成了 nVidia GTX 1080,并为其安装了专有驱动程序,但在类似的负载下,系统仍然冻结。我换回了 AMD GPU,问题仍然存在。我排除了由于 GPU 构建类型导致的这种行为。对于 nVidia 卡,输出glxinfo | grep -i open如下;

    OpenGL vendor string: NVIDIA Corporation
    OpenGL renderer string: GeForce GTX 1080/PCIe/SSE2
    OpenGL core profile version string: 4.5.0 NVIDIA 384.81
    OpenGL core profile shading language version string: 4.50 NVIDIA
    OpenGL core profile context flags: (none)
    OpenGL core profile profile mask: core profile
    OpenGL core profile extensions:
    OpenGL version string: 4.5.0 NVIDIA 384.81
    OpenGL shading language version string: 4.50 NVIDIA
    OpenGL context flags: (none)
    OpenGL profile mask: (none)
    OpenGL extensions:
    OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 384.81
    OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
    OpenGL ES profile extensions:
    
    1. 将 BIOS 更新至版本 3401(2017 年 12 月 8 日,AGESA 1071),问题仍然存在。

答案1

我遇到了同样的问题...我为解决这个问题做了什么:

表现:

sudo cpufreq-set -r -g performance

开机设置:

sudo apt-get install cpufrequtils
echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils
sudo systemctl disable ondemand

答案2

我遇到了和你类似的问题。Ryzen 1800x

我建议你:

重新启用 SMT — 无需禁用它。

恢复 Ubuntu 16.04 的正常当前内核,当前内核为 4.4.0-93

在 BIOS 中禁用所有“省电”全局 C 状态选项。

禁用 cool n quiet 选项。

为确保稳定性,建议将 SoC 电压增加到 1.1。如本视频所述:https://www.hardocp.com/news/2017/05/01/how_to_stabilize_your_amd_ryzen_memory_cpu_overclocking_attempts

如果您正在对 CPU 施加压力或者处于空闲状态,则上述建议有效。

在 AMD 网站上为您的显卡下载最新的 AMD 驱动程序。您还可以通过“软件和更新”下的“其他驱动程序”尝试最新的开源驱动程序。我首先推荐此选项。

在执行上述操作之前,请将 BIOS 重置为默认值,并检查是否有可用的较新版本。

相关内容