感谢各位看友来访,更多最新技术专栏文章尽在作者『 全栈工程师修炼指南』星球,加入一起持续学习吧!
0x00 前言简述
作为一名IT从业者深知,在互联网技术日益发展的今天,应当居安思危,多学习多了解多实践各种技术,即便是在后续TC或CY时也能有底气,所以随时要牢记终身学习,特别是当下 AI 大爆发的时代,更应该紧跟潮流、与时俱进,在工作、学习、生活中都已经或多或少的接触到了,所以作者也借此机会学习一下 AI 方面的一些知识,正好最近公司空闲了一台 GPU 开发工作站搭建了 NVIDIA GeForce RTX 3060 用于测试学习再好不过了,已经按照《[[Ubuntu26.04-Resolute Raccoon 服务器操作系统基础安装配置指南(https://articles.zsxq.com/id_stvjg4qrdrm7.html)]]》文章安装好了基础及xfce桌面环境和相关常用应用,本文将继续讲解机器学习(AI开发)所需的相关开发环境。
不过在此之前,先来看看作者的实践环境,便于有相同系列显卡的童鞋直接抄作业。
实践环境
操作系统:Ubuntu 26.04 LTS - Resolute Raccoon
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 26.04 LTS"
NAME="Ubuntu"
VERSION_ID="26.04"
VERSION="26.04 (Resolute Raccoon)"
VERSION_CODENAME=resolute
ID=ubuntu
ID_LIKE=debian
主板型号:ASRockRack WC621D8A-2T
$ dmidecode -t "baseboard"
# dmidecode 3.6
Getting SMBIOS data from sysfs.
SMBIOS 3.2.1 present.
Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
Manufacturer: ASRockRack
Product Name: WC621D8A-2T
Version:
Serial Number: 199493000000072
Asset Tag:
Features:
Board is a hosting board
Board is replaceable
Location In Chassis:
Chassis Handle: 0x0003
Type: Motherboard
Contained Object Handles: 0
处理器:Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
# 处理器
lscpu | grep "型号名称" | sed -E "s# ##g"
echo -n "物理CPU数: ";cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
echo "物理CPU内核数: ";cat /proc/cpuinfo | grep "cpu cores" | uniq
echo -n "逻辑CPU数: ";cat /proc/cpuinfo | grep "processor" | wc -l
echo "物理CPU中逻辑CPU的个数:";cat /proc/cpuinfo | grep 'siblings' | uniq
echo "查询CPU是否启用超线程:";cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq
型号名称: Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
物理CPU数: 1
物理CPU内核数:
cpu cores : 24
逻辑CPU数: 48
物理CPU中逻辑CPU的个数:
siblings : 48
查询CPU是否启用超线程:
cpu cores : 24
siblings : 48
内存:Hynix ECC 64GB (2666Hz)
$ dmidecode -t "memory"
# dmidecode 3.6
Getting SMBIOS data from sysfs.
SMBIOS 3.2.1 present.
Handle 0x001F, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Single-bit ECC
Maximum Capacity: 512 GB
Error Information Handle: Not Provided
Number Of Devices: 8
Handle 0x0024, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x001F
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 64 GB
Form Factor: DIMM
Set: None
Locator: CPU1_DIMM_D1
Bank Locator: NODE 2
Type: DDR4
Type Detail: Synchronous
Speed: 2666 MT/s
Manufacturer: Hynix
Serial Number: 922E0CCA
Asset Tag: CPU1_DIMM_D1_AssetTag
Part Number: HMAA8GL7AMR4N-VK
Rank: 4
Configured Memory Speed: 2666 MT/s
Minimum Voltage: 1.2 V
Maximum Voltage: 1.2 V
Configured Voltage: 1.2 V
磁盘:Samsung SSD 990 PRO 4TB
$ sudo fdisk -l $(lsblk -o MOUNTPOINT,PKNAME | grep ' /$' | awk '{print "/dev/"$2}') | grep 'Disk model' | awk -F': ' '{print $2}'
Samsung SSD 990 PRO 4TB
显卡:NVIDIA GeForce RTX 3060 (ASUS-TUF-RTX3060-O12G-V2-GAMING] )
lspci | grep VGA
65:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] (rev a1)
# 规格参数
型号:TUF-RTX3060-O12G-V2-GAMING
显示核心:NVIDIA® GeForce RTX™ 3060
总线标准:PCI Express 4.0
OpenGL:OpenGL® 4.6
显存大小:12GB GDDR6
核心频率:
OC Mode - 1882 MHz (Boost Clock)
Gaming Mode - 1852 MHz (Boost Clock)
CUDA 核心:3584
显存速度:15 Gbps
显存位宽:192-bit
分辨率:最大数字分辨率 7680 x 4320
接口:支持 x 2(原生 HDMI2.1), 支持 x 3(原生 DisplatPort 1.4a), 支持 HDCP (2.3)
多屏支持:4
支持 NVlink/Crossfire:否
推荐电源:650W
供电接口:1 x 8-pin
插槽:2.7 槽
AURA SYNC:ARGB
[!tip]
若还没安装 Ubuntu 26.04 LTS 以及对应 XFCE 桌面+XRDP 远程协议的童鞋,请参考《[[Ubuntu26.04-Resolute Raccoon 服务器操作系统基础安装配置指南]]》文章进行安装配置。
0x01 开发依赖安装
1.显卡驱动安装
本小节将作为 AI 开发学习环境搭建的起始篇,由于开发学习需调用显卡计算能力,所以驱动是必不可少的,简单来说,显卡驱动是操作系统和显卡硬件之间的“翻译官”和“指挥官”,并且通过更新驱动来实现使用体验以及进一步压缩性能,下面做将在 Ubuntu 26.04 LTS 中快速安装 RTX 3060 显卡的驱动。
在 Linux 中安装 Nvidia 显卡驱动常用的有两种方法,一是从 Nvidia 官网直接下载操作系统以及对应显卡版本的驱动(610.43和595.84),二是通过系统软件源下载可用显卡驱动版本(推荐)。
前置操作
Step 1.在终端中执行如下命令,安装必备软件,如果你是按照作者所写文章安装的,那么你就可以跳过这一步。
# 更新源
sudo apt-get update
# 安装必备软件(必须检查是否安装下述编译工具)
sudo apt-get install g++ gcc make
Step 2.在安装NVIDIA驱动前,若当前使用的是主板自带的显卡,则需要禁止系统自带显卡驱动nouveau,操作配置如下所示:
## 在终端输入命令打开 blacklist.conf 文件
## gedit/vim/vi 均可, 在文件末尾增加以下内容并保存
sudo gedit /etc/modprobe.d/blacklist.conf
blacklist nouveau
# blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
# 更新 initramfs 并重启电脑
sudo update-initramfs -u
sudo reboot
# 再次检查 nouveau 是否被禁用如果没有输出则说明已禁用 nouveau
lsmod | grep nouveau
# 进入tty终端模式
sudo telinit 3
## 如需重新打开图形界面
# sudo telinit 5
# 终端登录,输入用户名和密码
# 关闭图形进程
sudo service gdm3 stop
sudo service lightdm stop
安装步骤
步骤 01.执行 sudo ubuntu-drivers devices 的作用是扫描你的硬件,并列出所有适用于你当前 Ubuntu 系统的可用显卡驱动版本。
$ sudo ubuntu-drivers devices
ERROR:root:aplay command not found
== /sys/devices/pci0000:64/0000:64:00.0/0000:65:00.0 ==
modalias : pci:v000010DEd00002504sv00001043sd00008816bc03sc00i00
# 提供商
vendor : NVIDIA Corporation
# 硬件识别
model : GA106 [GeForce RTX 3060 Lite Hash Rate]
# 驱动列表
driver : nvidia-driver-610-open - distro non-free
driver : nvidia-driver-610 - distro non-free
driver : nvidia-driver-595 - distro non-free
driver : nvidia-driver-595-open - distro non-free recommended (推荐版本)
driver : nvidia-driver-595-server - distro non-free
driver : nvidia-driver-595-server-open - distro non-free
....
# 开源的第三方驱动,一般作为系统默认的备用选项,但性能远不如官方驱动,不适合玩游戏或跑 AI。
driver : xserver-xorg-video-nouveau - distro free builtin
若输出中某个版本后带有 recommended 标记表示为推荐版本,其表示该版本经过最充分的测试,兼容性最好,尤其对后续的内核更新和 Secure Boot 支持更友好,例如上图中的 nvidia-driver-595-open。但如果系统没有明确推荐,一般来说,版本号数字较大的更新(如 610 新功能 或 595 推荐)对新显卡(如 RTX 3060)的支持更好,可以选择安装列表中数字最大的那个官方驱动。
另外,由上图可知 595 的多个驱动版本的主要区别在于内核模块的开放程度和针对的使用场景。它们的核心都是 NVIDIA 的闭源驱动(non-free),只是打包方式和侧重点不同,作者也简单整理一张表格,便于看友们可以更清晰地看到它们的区别:
| 驱动版本 | 核心区别 | 适用场景 |
|---|---|---|
nvidia-driver-595 |
标准闭源驱动 这是最通用的版本,使用 NVIDIA 传统的闭源内核模块。功能最完整,性能表现也最稳定。 |
绝大多数桌面用户的首选。无论是玩游戏、日常办公,还是运行一般的计算任务,选这个版本最省心。 |
nvidia-driver-595-open (推荐) |
开源内核模块版 此版本将内核模块替换为开源代码,但上层驱动核心组件仍为闭源。最大的好处是对启用了 Secure Boot 的系统更友好,因为预编译的内核模块更容易获得签名,避免手动处理签名问题。 |
如果你电脑的 BIOS 开启了 Secure Boot,或者想尝试最新的开源内核模块技术,建议选择这个版本。 |
nvidia-driver-595-server |
数据中心/服务器版 专为服务器和数据中心环境设计。它侧重于长期稳定性和计算任务的可靠性,而不是频繁为游戏或新桌面应用做优化。 |
适合搭建 AI 训练服务器、科学计算集群等企业级或专业计算场景。个人桌面用户一般不需要。 |
nvidia-driver-595-server-open |
服务器版的开源内核模块版 结合了上述两个特点:既是为服务器环境设计的 -server 版本,也使用了开源内核模块。 |
面向那些既需要服务器级稳定性,又希望使用开源内核模块的企业级用户。 |
步骤 02.根据驱动推荐结果,作者选择安装最新功能的 610 版本进行安装,安装命令 sudo apt install nvidia-driver-610-open -y 执行后将如下图所示:
步骤 03.安装完毕后执行 nvidia-smi 命令并不会正常输出将会显示NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver错误,如何解决呢?当然是重启了主机。
[root@aidev ~ 10.20.172.245 12:02]# nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
[root@aidev ~ 10.20.172.245 12:02]# reboot
步骤 04.工作站重启之后再次执行 nvidia-smi 会发现可以正常输出显卡驱动及显卡相关信息了,其中包含显卡驱动版本、型号、温度、使用率、显存大小以及使用情况。
weiyigeek@aidev:~/Desktop$ nvidia-smi
Mon Jul 27 12:05:36 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 610.43.02 KMD Version: 610.43.02 CUDA UMD Version: 13.3 # 最高支持的 CUDA 版本 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3060 Off | 00000000:65:00.0 Off | N/A |
| 0% 39C P8 15W / 170W | 1MiB / 12288MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
步骤 05.除此之外,还可以在 xfce 桌面 Application > 系统 > 查看到 NVIDIA 显卡信息。
最后,如果要卸载 nvidia-cuda-toolkit,可执行如下命令。
# 卸载 nvidia-cuda-toolkit 并删除其配置文件
sudo apt remove --purge nvidia-cuda-toolkit
# 清除残留的配置文件和数据,并且移除不需要的包和下载文件存档。
sudo apt autoremove
sudo apt autoclean
至此,我们完成 NVIDIA GeForce RTX 3060 显卡在 Ubuntu 26.04 LTS 服务器上的安装。
温馨提示:若文章代码块中存在乱码或不能复制,请联系作者,也可通过文末的阅读原文链接,加入知识星球中阅读,原文链接:https://articles.zsxq.com/id_8no2nl5cm9dh.html
学习:作者知识星球
『 全栈工程师修炼指南』星球,主要涉及全栈工程师(Full Stack Development)实践文章,持续更新包括但不限于企业SecDevOps和网络安全等保合规、安全渗透测试、编程开发、云原生(Cloud Native)、物联网工业控制(IOT)、人工智能Ai,从业书籍笔记,人生职场认识等方面资料或文章。
82
