【问题标题】:NVidia drivers not running on AWS after restarting the AMI重启 AMI 后 NVidia 驱动程序未在 AWS 上运行
【发布时间】:2017-03-05 05:05:49
【问题描述】:

各位,我有以下问题:

我用这个AMI 启动了一个 P2 实例。我安装了一些工具,如 screen、torch 等。然后我成功地使用 GPU 运行了一些实验,并创建了实例的映像,以便我可以终止它并稍后再次运行它。

后来,我从之前创建的 AMI 启动了一个新实例。一切看起来都很好 - 屏幕、手电筒、我的实验都存在于系统上,但我无法像以前一样运行相同的实验:

NVIDIA-SMI 失败,因为它无法与 NVIDIA 通信 司机。确保安装了最新的 NVIDIA 驱动程序并且 正在运行。

在我看来,驱动程序可能已安装(因为之前已安装所有其他工具),但它们没有运行。这是一个正确的假设吗?我该如何启动它们?

【问题讨论】:

  • 我注意到内核发生了变化。从内核4.4.0-1049-aws 到4.4.0-1061-aws。

标签: amazon-web-services amazon-ec2 nvidia drivers


【解决方案1】:

我们最近遇到了这个问题。在我们的例子中,AWS 实例上的默认内核似乎已升级(从 4.4.0-1049-aws 到 4.4.0-1061-aws),但新内核没有安装 nvidia 模块:

ubuntu@ip-XXX-XXX-XXX-XXX:~$ ls -laR /lib/modules/4.4.0-1061-aws | grep -i nvidia
ubuntu@ip-XXX-XXX-XXX-XXX:~$ ls -laR /lib/modules/4.4.0-1049-aws | grep -i nvidia
-rw-r--r--  1 root root    87368 Jun 27 10:21 nvidia-drm.ko
-rw-r--r--  1 root root  1155304 Jun 27 10:21 nvidia-modeset.ko
-rw-r--r--  1 root root  1163016 Jun 27 10:21 nvidia-uvm.ko
-rw-r--r--  1 root root 18014088 Jun 27 10:21 nvidia.ko

检查您的内核版本 (uname -a) 看看是否适合您。 GRUB 配置允许引导旧内核映像 (1049),但默认情况下它正在加载新内核映像 (1061)。 /boot/grub/cfg 的相关部分:

ubuntu@ip-XXX-XXX-XXX-XXX:~$ grep -i -e "ubuntu, with linux" /boot/grub/grub.cfg
    menuentry 'Ubuntu, with Linux 4.4.0-1061-aws' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1061-aws-advanced-XXXX' {
    menuentry 'Ubuntu, with Linux 4.4.0-1061-aws (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1061-aws-recovery-XXXX' {
    menuentry 'Ubuntu, with Linux 4.4.0-1049-aws' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1049-aws-advanced-XXXX' {
    menuentry 'Ubuntu, with Linux 4.4.0-1049-aws (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1049-aws-recovery-XXXX' {

您可以强制在下次重新启动时使用 grub-reboot 加载旧内核:

sudo /usr/sbin/grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-1049-aws"
sudo reboot

这将使用旧内核启动实例,您拥有 nvidia 模块。

【讨论】:

  • 仍然与 4.4.0-1077-aws 内核版本相关。我按照说明将内核恢复为 4.4.0.1075-aws 版本。
  • 尽管@liorko 所说的使 GPU 可用,但这并不是一个完美的解决方案,因为它可能与您之前安装的不兼容,即当我运行 PyTorch 代码时出现此错误:@987654325 @所以需要谨慎
  • 只是添加,而 4.4.0-1075-aws 导致 nvidia 驱动程序不可用。
  • 很好的答案,拯救了我的一天!
  • 实际上,这个解决方案似乎只适用于下次重启,但不会永久更改内核。为了永久更改它,我按照这个建议删除了最新的内核(我不想使用)askubuntu.com/a/329943
【解决方案2】:

重新安装nvidia驱动解决了这个问题。

【讨论】:

  • 您知道如何无需重新安装驱动程序即可重新启动吗?
  • 这是什么答案?您自己回答,然后至少提供更多详细信息,以便其他人可以向您学习。
  • @MichaelIV 它很短,并不意味着它很糟糕。我不认为还有什么要说的,重新安装 Nvidia 驱动程序解决了 OP 的问题,仅此而已。也许他可以添加诸如“1.卸载Nvidia驱动程序2.重新安装Nvidia驱动程序3.重新启动”之类的步骤,但我不确定告诉人们如何重新安装一些驱动程序是否有用。
猜你喜欢
  • 1970-01-01
  • 2012-05-03
  • 1970-01-01
  • 2016-08-12
  • 2017-07-14
  • 2012-08-07
  • 1970-01-01
  • 2019-09-04
  • 2021-08-16
相关资源
最近更新 更多