Ubuntu 18.04 cuda 9.0 双1080TI 只显示一张

2024-08-21 20:08

本文主要是介绍Ubuntu 18.04 cuda 9.0 双1080TI 只显示一张,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

追加:【已解决,有一张显卡硬件不稳定】

参考我的最终记录:

https://blog.csdn.net/u012911347/article/details/82854018

这又是一篇关于cuda和nvidia的博客,暂时解决了显卡就只显示一张和cuda无法使用的问题。

如果你想了解更多,可以看看我前面几篇博客记录。大体上就是,ubuntu 18.04和cuda 9.0 在390.48驱动下,突然崩溃了。接着一番修复,apt,aptitude,run文件等,好了又坏,坏了又修。最终是去除ppa,apt安装ubuntu官方源的nvidia-384,接着cuda 9.0的run文件运行,选择装cuda toolkit却不重新用run文件内提供的驱动覆盖系统的。这样正常工作了两天。

今天早上一看,又出了问题,nvidia-smi只显示了一个,另一个是ERR:

Mon Sep 17 09:49:55 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:21:00.0  On |                  N/A |
|ERR!   44C    P8   ERR! / 250W |    295MiB / 11144MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 108...  Off  | 00000000:2D:00.0 Off |                  N/A |
|  0%   36C    P8    10W / 250W |      2MiB / 11178MiB |      0%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1817      G   /usr/lib/xorg/Xorg                            40MiB |
|    0      1860      G   /usr/bin/gnome-shell                          83MiB |
|    0      2088      G   /usr/lib/xorg/Xorg                           146MiB |
|    0      2240      G   /usr/bin/gnome-shell                           4MiB |
|    0      2254      G   /opt/teamviewer/tv_bin/TeamViewer             14MiB |
+-----------------------------------------------------------------------------+

实话说我比系统更崩溃,出问题就各种问题,如nvidia-persistenced,如deviceQuery的FAIL,如nvidia-smi显示少一张。对这台工作站的cuda我已经折腾了多次,却没有一个稳定有效的方案,也不知道问题出在哪里。比如这一次,apt安装的nvidia-384,run文件的cuda9.0,没有打cuda9.0的四个补丁,当前显示驱动为390.48。好好工作两天,我都以为解决问题了,这一大早又是出问题。看deviceQuery的信息如下:

./deviceQuery Starting...CUDA Device Query (Runtime API) version (CUDART static linking)cudaGetDeviceCount returned 3
-> initialization error
Result = FAIL

这条信息,returned 3都搜不到解决办法。而当前情况下,我注意到Xorg的cpu占用特别高:

2088 root      20   0  504212 140412  93340 R 100.3  0.1 979:58.25 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3

这也为后面的解决办法提供了一些思路。接着还是不死心,又重新启动,发现deviceQuery的输出变了:

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.1, CUDA Runtime Version = 9.0, NumDevs = 1
Result = PASS

原来nvidia-smi显示一张,但是query没有通过。现在query通过了,虽然显示少了一个,NumDevs是1,但是nvidia-smi却一个没有了:

Mon Sep 17 10:01:06 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:2D:00.0 Off |                  N/A |
|  0%   37C    P5    23W / 250W |      0MiB / 11178MiB |      3%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

我的天,完全不知道如何获取更准确的信息。在搜索的过程中,得知nvidia-smi的smi就是System Management Interface,nvidia-smi后面跟个数字应该是grid驱动版本号,后面driver version应该是显卡驱动版本号,二者分开写,有时候也不一样。这里顺便记录以上两点。

查看日志以前就知道syslog,现在也可以看Xorg的log,硬件有关的可以看dmesg。比如我这里看到的有关显卡的日志是:

[    4.894342] NVRM: GPU at PCI:0000:21:00: GPU-7ce0c4e1-86a8-fe64-288b-da563f52cc95
[    4.894344] NVRM: GPU Board Serial Number:
[    4.894346] NVRM: Xid (PCI:0000:21:00): 62, 13adb(75b8) 00000000 00000000
[   51.725515] NVRM: Xid (PCI:0000:21:00): 32, Channel ID 00000000 intr 80042000
[   51.736863] NVRM: RmInitAdapter failed! (0x26:0xffff:1123)
[   51.736926] NVRM: rm_init_adapter failed for device bearing minor number 0
[   56.665188] NVRM: Xid (PCI:0000:21:00): 32, Channel ID 00000000 intr 80002000
[   56.671764] NVRM: RmInitAdapter failed! (0x26:0xffff:1123)
[   56.671787] NVRM: rm_init_adapter failed for device bearing minor number 0
[   61.553430] NVRM: Xid (PCI:0000:21:00): 32, Channel ID 00000000 intr 80002000
[   61.560047] NVRM: RmInitAdapter failed! (0x26:0xffff:1123)
[   61.560070] NVRM: rm_init_adapter failed for device bearing minor number 0
[   66.293581] NVRM: Xid (PCI:0000:21:00): 32, Channel ID 00000000 intr 80002000
[   66.300253] NVRM: RmInitAdapter failed! (0x26:0xffff:1123)
[   66.300276] NVRM: rm_init_adapter failed for device bearing minor number 0
[   71.055603] NVRM: Xid (PCI:0000:21:00): 32, Channel ID 00000000 intr 80002000
[   71.066633] NVRM: RmInitAdapter failed! (0x26:0xffff:1123)
[   71.066682] NVRM: rm_init_adapter failed for device bearing minor number 0
[   71.626922] usb 1-4: USB disconnect, device number 3
[   75.959977] NVRM: Xid (PCI:0000:21:00): 32, Channel ID 00000000 intr 80002000
[   75.971194] NVRM: RmInitAdapter failed! (0x26:0xffff:1123)
[   75.971228] NVRM: rm_init_adapter failed for device bearing minor number 0

一直看到底,就是这个21:00.0出问题,而2D:00.0这个卡就没问题,这样也对应了前面nvidia-smi显示一张的记录,nvidia-smi中的bus-id可以看到该卡。

这样就比较诡异了,一张卡可以,query也能通过,按理说驱动和cuda都应该是没问题的。另一个却初始化失败,且又有Xorg超高的cpu使用率,所以就怀疑起来是不是接显示器的原因。还别说,把显示器线拔了,重启,真的就好了。

Mon Sep 17 10:31:38 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:21:00.0 Off |                  N/A |
|  0%   47C    P8    10W / 250W |     19MiB / 11170MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 108...  Off  | 00000000:2D:00.0 Off |                  N/A |
|  0%   36C    P8    10W / 250W |      2MiB / 11178MiB |      0%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1675      G   /usr/lib/xorg/Xorg                             9MiB |
|    0      1723      G   /usr/bin/gnome-shell                           7MiB |
+-----------------------------------------------------------------------------+

抓紧试试:

2018-09-17 11:05:17.424097: I tensorflow/core/common_runtime/placer.cc:886] a: (Const)/job:localhost/replica:0/task:0/device:GPU:0
b: (Const): /job:localhost/replica:0/task:0/device:GPU:0
2018-09-17 11:05:17.424115: I tensorflow/core/common_runtime/placer.cc:886] b: (Const)/job:localhost/replica:0/task:0/device:GPU:0
d: (Const): /job:localhost/replica:0/task:0/device:GPU:1
2018-09-17 11:05:17.424133: I tensorflow/core/common_runtime/placer.cc:886] d: (Const)/job:localhost/replica:0/task:0/device:GPU:1
e: (Const): /job:localhost/replica:0/task:0/device:GPU:1
2018-09-17 11:05:17.424151: I tensorflow/core/common_runtime/placer.cc:886] e: (Const)/job:localhost/replica:0/task:0/device:GPU:1
[[22. 28.][49. 64.]]
[[22. 28.][49. 64.]]

两张卡,真的都没问题了。

下面进行总结:

各种方式都尝试了,就差最下下策的重装系统了,灵机一动,不接显示器的情况下,两张卡都ok了。而且,如果你看到我前几篇博客介绍就知道,一开始是Matlab的figure画图导致cuda和驱动崩溃的。所以我现在已经比较能确定问题了,是显示驱动有关部分不稳定或者有bug,接显示器的时候导致一个或者俩卡都无法正常初始化。一个nvidia驱动,一个Xorg的图形界面系统,总感觉很容易崩,也不知道谁的锅。

附录一,显示器有关信息:

戴尔P2715Q 4k显示器,以及应该是原装的DP连接线,其中mini dp接显示器,标准dp接1080ti显卡上。实际使用设置了2560*1440的分辨率。

附录二,吐槽:

算是为cuda诡异的问题提供了一个思路,不妨不接显示器。能正常工作多久拭目以待,后面有问题我还会跟进博客。

这篇关于Ubuntu 18.04 cuda 9.0 双1080TI 只显示一张的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094160

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA