ubuntu 20.04 显卡装机记录,独显用于科学计算

 


前言:在网上买了一张 3060 12 g 显卡,电脑是双系统。

1. 显卡安装

首先安装了 显卡到我的 核显机器上。安装教程参考:

全网最好的装机教程,没有之一

无非是把挡板拆了,然后插到显卡卡槽里面,然后固定,接上电源线即可。

2. windows 下的测试

首先去显卡的官网下载了 推荐的显卡驱动,然后下载了 furmark 软件,查看下 gpu-z 的参数是否对应,然后在 furmark 极度折磨模式下,拷机 15分钟。

3. ubuntu20.04 下

1. 安装nvidia 显卡驱动:

直接在 软件和更新 中,将下载源更新到 国内的 阿里云。然后 附件驱动选择一个 推荐的比较高的版本即可。

ubuntu-drivers devices # 选择一个 recommended

然后在 附加驱动中选那个就好。安装好后输入:

nvidia-smi # 有输出那么驱动安装完成。

2. 核显用于显示,独显用于计算

参考:
Ubuntu22.04设置独显用于深度学习运算,核显用于屏幕显示

其中,Nvidia x Server Setting 软件可以在 终端,使用如下命令进入:

nvidia-settings

我的 cpu 是 amd 的,我使用的如下命令:

sudo prime-select on-demand # 参考:https://forums.developer.nvidia.com/t/how-to-prevent-xorg-process-from-using-the-gpu-on-ubuntu-20-04-3-lts-with-a-rtx-3050-ti/201171/4

This will run everything on the igpu, only leaving a 4MB process on the nvidia left.

image

明显 还有 10MiB 的显存占用。显然我这里是两个:/usr/lib/xorg/Xorg,每个 4MiB, 一共10MiB。

关闭这两个进程的解决方法:

sudo vim /usr/share/X11/xorg.conf.d/10-nvidia.conf

将里面的文件全部注释掉即可。

原因:该 10-nvidia.conf 文件会让X server自动加载 nvidia 驱动。

image

成功了!

BUT?

当我有一次开机时候,我开不开机了,一直卡在:fsckd-cancel-msg:Press Ctrl+C

这里有个人和我遇到了同样的问题:https://askubuntu.com/a/1313440

解决:按 ctrl+alt+F2 进入命令行模式:

查看日志输出:

journalctl -xb

输入 /fail, 按 N/n 查看上一个/下一个,然后我就发现了 是 X server fail 了(在日志的差不多最后出现了几次)。因此我就知道是我上面全部注释掉 /usr/share/X11/xorg.conf.d/10-nvidia.conf 文件的问题。

因此,我去掉了注释,然后重启,我成功了。正如上面遇到问题的人也是这么解决的问题。

BUT!

xorg 依旧占内存。

我找到了几个解决办法:

配置xorg.conf : 好像很麻烦的样子,因此我不想去尝试

受下面文章的启发:https://blog.csdn.net/wf19930209/article/details/81877822

我更改了 /usr/share/X11/xorg.conf.d/10-nvidia.conf 如下:

Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
Option "PrimaryGPU" "no"
#ModulePath "/usr/lib/nvidia/xorg"
#ModulePath "/usr/lib/xorg/modules"
EndSection

这会导致和上面一样卡住。

而取消下面的两行注释,开机后 依旧会占据那点显存。

最终我放弃了该问题!!!, 不过我会输出 两个 /usr/lib/xorg/Xorg 每个占 4M, 我直接:

sudo kill -9 pid(上面的那个) # 好像对我没啥影响

不要 kill 下面那个,会直接黑屏!

不过,我怀疑是我装的显卡驱动的问题,因为我装的驱动 是完整的,包括显示组件,如 OpenGL 库。或许我应该装一个 nvidia-headless 版本的驱动。安装请参考:https://zhuanlan.zhihu.com/p/411756008 。我目前不想折腾该问题,万一我还需要独显来显示呢?

下面的文章应该可以佐证我的猜测是正确的:https://zhuanlan.zhihu.com/p/407008519

posted @   Zenith_Hugh  阅读(1309)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

微信打赏