Ubuntu 20.04 冻结,开始安装 nvidia gpu 驱动程序 GTX Geforce 1650,怀疑与交换内存有关

Ubuntu 20.04 冻结,开始安装 nvidia gpu 驱动程序 GTX Geforce 1650,怀疑与交换内存有关

我刚刚将我的操作系统从 Ubuntu 16.04LTS 升级到 Ubuntu 18.04LTS,然后升级到 Ubuntu 20.04 LTS,因为我正在尝试使用 GPU 来运行神经网络。我升级了操作系统,以便能够安装最新的 nvidia 驱动程序。我有一张 Nvidia Geforce GTX 1650 GPU 卡。在 Ubuntu 18 中,我安装了 nvidia 驱动程序 430,当操作系统升级到 Ubuntu 20.04 时,nvidia 驱动程序自动更新到最新版本 525,这些是官方 nvidia 驱动程序网站为我的卡推荐的版本,链接:https://www.nvidia.com/download/driverResults.aspx/199656/en-us/

当有一些进程占用大量 RAM(例如播放视频、从 Firefox 加载大量数据或尝试运行神经网络)时,我的计算机开始变慢,鼠标指针开始变得不稳定,GPU 温度升至 95°C,gpu-util 升至 100%(运行命令 nvidia-smi) 冻结之前 nvidia-smi 命令的输出 然后整个系统进入深度冻结状态,鼠标和键盘停止响应,音频进入循环状态。没有办法将其从冻结状态中唤醒,只能按电源按钮进行硬重置。

我看到这个版本的 Ubuntu 中有很多与此问题相关的类似问题: 如何找出 Ubuntu 20.04 冻结的原因? Ubuntu 20.04 LTS 随机冻结 - 怀疑是 Nvidia Ubuntu 20.04 随机冻结 Ubuntu 20.04 随机冻结 完全冻结 - Ubuntu 20.04,可能是 AMD 驱动程序的问题

在大多数问题中,问题与 BIOS 版本有关,但我在一些帖子中看到交换内存的值为 2GB 或 4GB,而当我检查我的内存时,它是 976Mb... 我不知道我的问题是否与交换内存有关??我对 Ubuntu 和驱动程序的了解非常有限。如果有人能帮忙,我将不胜感激,这真是令人沮丧和漫长。

这里有一些有用的信息

free -h

total        used        free      shared  buff/cache   available

Mem:           15Gi       2,8Gi        10Gi        36Mi       2,2Gi        12Gi

Swap:         976Mi          0B       976Mi

sysctl vm.swappiness结果:

vm.swappiness = 60

sudo lshw -C memory结果:

PCI (sysfs)  
  *-firmware                
       description: BIOS
       vendor: American Megatrends Inc.
       physical id: 1
       version: E16S3IMS.108
       date: 11/18/2019
       size: 64KiB
       capacity: 16MiB
       capabilities: pci upgrade shadowing cdboot bootselect edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer acpi usb biosbootspecification uefi
  *-memory
       description: System Memory
       physical id: 3b
       slot: System board or motherboard
       size: 16GiB
     *-bank:0
          description: SODIMM DDR4 Synchronous 2667 MHz (0,4 ns)
          product: M471A2K43CB1-CTD
          vendor: Samsung
          physical id: 0
          serial: 36BD8D3D
          slot: ChannelA-DIMM0
          size: 16GiB
          width: 64 bits
          clock: 2667MHz (0.4ns)
     *-bank:1
          description: [empty]
          physical id: 1
          slot: ChannelB-DIMM0
  *-cache:0
       description: L1 cache
       physical id: 45
       slot: L1 Cache
       size: 384KiB
       capacity: 384KiB
       capabilities: synchronous internal write-back unified
       configuration: level=1
  *-cache:1
       description: L2 cache
       physical id: 46
       slot: L2 Cache
       size: 1536KiB
       capacity: 1536KiB
       capabilities: synchronous internal write-back unified
       configuration: level=2
  *-cache:2
       description: L3 cache
       physical id: 47
       slot: L3 Cache
       size: 12MiB
       capacity: 12MiB
       capabilities: synchronous internal write-back unified
       configuration: level=3
  *-memory UNCLAIMED
       description: RAM memory
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 14.2
       bus info: pci@0000:00:14.2
       version: 00
       width: 64 bits
       clock: 33MHz (30.3ns)
       capabilities: pm cap_list
       configuration: latency=0
       resources: memory:d5418000-d5419fff memory:d541d000-d541dfff

在冻结之前和增加交换内存之后的 htop 输出: 顶部

答案1

根据 的输出free -h,您的交换文件已满(0 个可用空间)。Linux 看到了您的可用交换空间并在其中放入了一些缓存/共享内存,然后就结束了,但没有意识到当 2.8GB 的​​物理内存填满时,这会导致您的系统崩溃。

快速免费修复:增加交换大小。我的系统有 8GB RAM,因此我使用 24GB 的交换,但 25GB 以上的交换应该对你来说就足够了(一般的经验法则是交换应该是物理 RAM 大小的 2 倍,但如果将来遇到问题,你可以增加交换大小)。

价格更贵,但体验更好:当 Linux 开始使用交换文件时,事情通常会开始变得慢的。我的意思是,慢的有点慢。光标滞后,在浏览器选项卡上等待超过 15 秒,除非您将交换保持在某种价值数千美元的 NVMe 驱动器上,否则这是一场噩梦。所以我建议只是下载购买更多 RAM 以获得最佳性能。根据 的输出,您有一个可用的 RAM 插槽sudo lshw -C memory,所以这不会成为问题。

相关内容