如何修复

如何修复

我正在努力寻找我的 Ubuntu 服务器挂起/崩溃的原因。

我已经安装了一个准系统Ubuntu 服务器 20.04.2 LTS在我的旧电脑上尝试使用它作为个人服务器来托管我的一些项目。

我的问题是,几个小时后,有时短至 2 到 3 个小时,长至 8 到 12 个小时,我的服务器最终就会挂起。

我得到了视觉输出,但它完全没有反应键盘、鼠标或 ssh。有时它会记录CPU #X stuck for Xs!,但似乎从来都不是来自同一个地方。有时kworkers,有时md-udev,有时systemd-networkd。其他时候我根本看不到任何视觉输出,只能强制重启。

因此当前在我的服务器上运行的是:

  • 联邦水务局
  • OpenVPN
  • 座舱
  • 波泰纳
  • 带有 nginx 反向代理的 Docker 容器
  • 让我们加密docker容器
  • 2 个 Nextcloud docker 容器
  • 大约 5 个其他 Docker 容器运行小型应用程序/Web 应用程序

最让我困惑的是,我根本没有收到任何日志,我检查了内核和系统日志,通常最后一行是UFW block一些垃圾邮件发送者 IP 地址的无关命令,但没有更实质性的内容。我也尝试查看,/var/crash/但结果相同,要么是空的,要么是我重启的日志。

我浏览过这个网站,人们通常似乎认为这可能是硬件问题,但当我的主要设置是 Windows 10 时,我在一夜之间运行这个系统时从来没有遇到过问题。

我尝试过的:

  • 多次全新重新安装 Ubuntu Server 20.04.2
  • 更新了我的 BIOS,并删除了我可能应用的任何超频
  • 检查了我的温度和系统负载,都正常
  • 使用 Memtest86 检查我的 RAM,运行 3x4 次,总共超过 12 个小时,没有出现任何错误

我的系统规格是:

Ryzen 1700 @stock
16 GB CORSAIR GDDR4 @2133MHz but rated for 3200Mhz
MSI B350 Gaming PLUS MOBO
Gigabyte GTX 1080
Samsung 960 EVO 512GB nVme SSD 
650W corsair power supply
Plenty of cooling

如果你们有任何关于如何诊断我的设置方面的线索或建议,或者我可以尝试的更多步骤,我将不胜感激。

感谢您的帮助


编辑 2021-03-03

在对 ubuntu ryzen 和冻结进行进一步研究之后,我偶然发现了这个帖子AMD 论坛。这表明 Ryzen 1st gen 上的 C6 状态存在问题。他们的建议是切换电源状态在 BIOS 中,Typical Current Idle这显然对 C6 状态有影响。我会尝试一下,看看是否有任何变化。

答案1

毫无疑问,这一定是一个非常令人沮丧的情况。如果不提供答案毫无疑问,故障排除的基本流程更换每个(或批次)组件(无论是硬件还是软件。)

离题了:我有一个 Xigmanas BSD 系统,有时可以正常运行几天或几周,直到外部阵列冻结,甚至尝试对文件系统执行必要的 zfs 重置也不足以使系统继续运行。似乎不应该有导致整个系统锁定的原因,但结果就是这样。移除阵列后,几个月来一切都运行良好。

同样地,我有一台 MacBook Pro,它几乎可以在所有情况下运行,但是当我运行屏幕捕获软件时,它会经常锁定,所以我放弃尝试在那台机器上使用该软件(在其他地方运行良好!)


但它确实看起来像是一个幻影硬件问题,也许仅在某些软件配置下才会出现。

简而言之 - 尝试不同的设置,即使只是为了进一步隔离问题。尝试 Debian 版本或 CentOS(在此处插入有关操作系统选择的其他评论)。使用 20.04 有什么关键原因吗?

更改操作系统是最简单的操作之一,除非您有其他兼容的备用硬件(HD,内存,MB等)

抱歉,这不是神奇的“这里是答案或包含答案的日志文件的明显路径”答案。:)

答案2

我也遇到了同样的问题。我尝试了很多方法来解决它,但都没有用。相反,我确实安装了其他版本的 UBUNTU 20.04,即 UBUNTU 20.04.2.0 (FOCAL FOSSA) 或 Ubuntu 20.10。

答案3

好吧,我想我会回答我自己的问题。

我的问题可能与 Ryzen CPU 与 Linux 不兼容有关。根据这个AMD 论坛讨论,很多人在 Ryzen CPU 和 Linux 闲置时遇到过类似的问题,Reddit 主题楼主也报告了类似的问题。这两者之间似乎存在联系C6 CPU 状态并挂起。

如何修复

BIOS

查看你的 BIOS 并尝试找到电源空闲控制或者全局 C 状态控制并将该值从汽车或者低电流空闲典型空闲电流

禁用 C6 状态

如果这没有解决问题,或者你没有选择,可以在此处找到另一种禁用它的方法github 仓库


我个人在 MSI 主板 BIOS 中选择了该选项,应用了正确的值,并且运行了 48 小时没有任何问题,尽管功耗可能略高。

这确实是一个令人沮丧的调试问题,但最终我学到了一些新的东西并使我的服务器再次变得稳定。

感谢所有参与并分享我的沮丧的人,我希望这个帖子可能对其他人有用。

相关内容