ITPub博客

首页 > 应用开发 > IT综合 > Ubuntu 24.04系统安装与NVIDIA RTX 4090显卡驱动配置指南

Ubuntu 24.04系统安装与NVIDIA RTX 4090显卡驱动配置指南

投稿 IT综合 作者:bhluo 时间:2026-01-23 10:53:26 0 删除 编辑

# Ubuntu 24.04系统安装与NVIDIA RTX 4090显卡驱动配置指南


## 一、系统安装准备


### 1.1 安装介质制作


```bash

# 在现有Linux系统中创建启动U盘

# 首先识别U盘设备(假设为/dev/sdb)

sudo fdisk -l | grep Disk


# 下载Ubuntu 24.04 LTS镜像

wget https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso


# 使用dd命令写入U盘(注意:会清空U盘所有数据)

sudo dd if=ubuntu-24.04-live-server-amd64.iso of=/dev/sdb bs=4M status=progress

sudo sync


# 验证写入结果

sudo fdisk -l /dev/sdb

```


### 1.2 BIOS/UEFI设置


安装前需正确配置系统固件:


1. **禁用安全启动(Secure Boot)** - NVIDIA驱动需要此设置

2. **启用UEFI模式** - 推荐使用UEFI而非传统BIOS

3. **调整启动顺序** - 设置U盘为首选启动设备

4. **禁用快速启动(Fast Boot)** - 确保硬件完全初始化


## 二、Ubuntu 24.04安装步骤


### 2.1 系统安装过程


安装时的重要选择:


```bash

# 安装过程中的关键配置

# 1. 语言选择: English (便于后续排查问题)

# 2. 键盘布局: US English

# 3. 安装类型: Ubuntu Server (最小化安装) 或 Ubuntu Desktop

# 4. 网络配置: 建议设置静态IP,便于远程访问

# 5. 存储配置: 使用整个磁盘,启用LVM (便于后续管理)

# 6. 用户设置: 创建管理员账户,启用SSH服务

```


### 2.2 安装后基础配置


```bash

# 首 次登录后更新系统

sudo apt update && sudo apt upgrade -y


# 安装基础开发工具

sudo apt install -y build-essential git curl wget


# 配置网络(如需静态IP)

cat <<EOF | sudo tee /etc/netplan/01-netcfg.yaml

network:

  version: 2

  ethernets:

    eth0:

      addresses:

        - 192.168.1.100/24

      gateway4: 192.168.1.1

      nameservers:

        addresses: [8.8.8.8, 8.8.4.4]

EOF


sudo netplan apply


# 验证网络连接

ping -c 3 google.com

```


## 三、NVIDIA RTX 4090驱动安装


### 3.1 安装前准备工作


```bash

# 1. 禁用Nouveau开源驱动

# 创建黑名单配置文件

cat <<EOF | sudo tee /etc/modprobe.d/blacklist-nouveau.conf

blacklist nouveau

options nouveau modeset=0

EOF


# 更新initramfs

sudo update-initramfs -u


# 2. 安装内核头文件和开发工具

sudo apt install -y linux-headers-$(uname -r) \

    dkms \

    gcc \

    make


# 3. 切换到控制台模式(桌面环境需执行)

sudo systemctl isolate multi-user.target


# 或直接重启到控制台

sudo reboot

```


### 3.2 驱动安装方法选择


#### 方法A:使用NVIDIA官方.run文件


```bash

# 从NVIDIA官网下载最新驱动

# https://www.nvidia.com/Download/index.aspx

# 选择:RTX 4090 -> Linux 64-bit


# 下载驱动(以550.90.07版本为例)

wget https://us.download.nvidia.com/XFree86/Linux-x86_64/550.90.07/NVIDIA-Linux-x86_64-550.90.07.run


# 添加执行权限

chmod +x NVIDIA-Linux-x86_64-550.90.07.run


# 运行安装程序

sudo ./NVIDIA-Linux-x86_64-550.90.07.run \

    --dkms \

    --silent \

    --no-cc-version-check \

    --install-libglvnd


# 安装选项说明:

# --dkms: 集成到DKMS内核模块管理

# --silent: 静默安装

# --no-cc-version-check: 跳过编译器版本检查

# --install-libglvnd: 安装GLVND库

```


#### 方法B:使用Ubuntu图形驱动PPA


```bash

# 添加图形驱动团队PPA

sudo add-apt-repository ppa:graphics-drivers/ppa -y

sudo apt update


# 查看可用驱动版本

ubuntu-drivers devices


# 安装推荐驱动(通常是最新版)

sudo apt install -y nvidia-driver-550


# 或安装特定版本

sudo apt install -y nvidia-driver-550-server  # 服务器版本

```


### 3.3 驱动安装验证


```bash

# 重启系统

sudo reboot


# 验证驱动安装

nvidia-smi


# 期望输出类似:

# +---------------------------------------------------------------------------------------+

# | NVIDIA-SMI 550.90.07     Driver Version: 550.90.07     CUDA Version: 12.4     |

# |-----------------------------------------+----------------------+----------------------+

# | 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 4090        Off | 00000000:01:00.0 Off |                  Off |

# |  0%   34C    P8             17W / 450W |      6MiB / 24564MiB |      0%      Default |

# |                                         |                      |                  N/A |

# +-----------------------------------------+----------------------+----------------------+


# 查看驱动详细信息

nvidia-smi -q | head -20


# 检查内核模块加载

lsmod | grep nvidia


# 验证OpenGL支持

glxinfo | grep -i "opengl"

```


## 四、CUDA与cuDNN安装配置


### 4.1 CUDA Toolkit安装


```bash

# 方法A:使用NVIDIA官方仓库

# 添加NVIDIA CUDA仓库

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb

sudo dpkg -i cuda-keyring_1.1-1_all.deb

sudo apt update


# 安装CUDA Toolkit(推荐版本)

sudo apt install -y cuda-toolkit-12-4


# 方法B:使用runfile安装

wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run

sudo sh cuda_12.4.0_550.54.14_linux.run


# 配置环境变量

cat <<EOF >> ~/.bashrc

export PATH=/usr/local/cuda-12.4/bin:\$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:\$LD_LIBRARY_PATH

export CUDA_HOME=/usr/local/cuda-12.4

EOF


source ~/.bashrc


# 验证CUDA安装

nvcc --version

nvidia-smi

```


### 4.2 cuDNN安装


```bash

# 从NVIDIA开发者网站下载cuDNN

# 需要注册账户:https://developer.nvidia.com/cudnn

# 下载对应CUDA 12.4的cuDNN版本


# 解压并安装

tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz

sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include/

sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64/

sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*


# 验证cuDNN安装

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

```


## 五、性能优化与监控


### 5.1 电源管理模式配置


```bash

# 查看当前电源模式

sudo nvidia-smi -q | grep -A 3 "Power Management"


# 设置性能模式

sudo nvidia-smi -pm 1  # 启用持久模式

sudo nvidia-smi -pl 450  # 设置功率限制(单位:瓦)

<"iron.yunruiwater.cn"><"snake.sxyicheng.cn"><"tree.jsnjz.cn">


# 设置电源管理模式为自适应

sudo nvidia-settings -a "[gpu:0]/GPUPowerMizerMode=1"


# 可用模式:

# 0 = 自适应

# 1 = 最高性能

# 2 = 自动

```


### 5.2 显卡监控脚本


```bash

#!/bin/bash

# gpu_monitor.sh


# 监控GPU状态

monitor_gpu() {

    while true; do

        clear

        echo "=== NVIDIA RTX 4090 监控 ==="

        echo "时间: $(date)"

        echo

        

        # 显示基础信息

        nvidia-smi --query-gpu=index,name,temperature.gpu,utilization.gpu,utilization.memory,power.draw,power.limit --format=csv

        

        echo

        echo "--- 进程信息 ---"

        nvidia-smi pmon -c 1

        

        echo

        echo "按 Ctrl+C 退出"

        sleep 2

    done

}


# 记录GPU统计到文件

log_gpu_stats() {

    while true; do

        nvidia-smi --query-gpu=timestamp,temperature.gpu,utilization.gpu,utilization.memory,power.draw,clocks.gr,clocks.mem --format=csv,noheader >> ~/gpu_log.csv

        sleep 30

    done

}


# 根据参数选择模式

case "${1:-}" in

    monitor)

        monitor_gpu

        ;;

    log)

        log_gpu_stats

        ;;

    *)

        echo "用法: $0 {monitor|log}"

        exit 1

        ;;

esac

```


## 六、常见问题解决


### 6.1 驱动安装失败处理


```bash

# 如果驱动安装失败,执行清理

sudo apt purge nvidia-* -y

sudo apt autoremove -y


# 彻底移除NVIDIA相关文件

sudo rm -rf /usr/lib/nvidia

sudo rm -rf /etc/X11/xorg.conf


# 重新生成内核模块依赖

sudo depmod -a

sudo update-initramfs -u


# 重启后重试安装

```


### 6.2 性能问题排查


```bash

# 检查显卡是否正确识别

lspci | grep -i nvidia


# 验证PCIe连接速度

nvidia-smi -q | grep -A 4 "Link Info"


# 检查内存时钟和图形时钟

nvidia-smi -q | grep -A 2 "Clocks"


# 测试CUDA功能

cat > test_cuda.cu << 'EOF'

#include <stdio.h>

#include <cuda_runtime.h>


int main() {

    int deviceCount;

    cudaGetDeviceCount(&deviceCount);

    

    for (int i = 0; i < deviceCount; i++) {

        cudaDeviceProp prop;

        cudaGetDeviceProperties(&prop, i);

        printf("Device %d: %s\n", i, prop.name);

        printf("  Compute Capability: %d.%d\n", prop.major, prop.minor);

        printf("  Memory: %zu MB\n", prop.totalGlobalMem / 1024 / 1024);

    }

    return 0;

}

EOF


nvcc test_cuda.cu -o test_cuda

./test_cuda

```


### 6.3 多用户/远程访问配置


```bash

# 允许非特权用户访问GPU

sudo groupadd nvidia-users

sudo usermod -aG nvidia-users $USER


# 创建udev规则

cat <<EOF | sudo tee /etc/udev/rules.d/70-nvidia.rules

# 允许nvidia-users组访问GPU

KERNEL=="nvidia*", MODE="0666", GROUP="nvidia-users"

EOF


# 重新加载udev规则

sudo udevadm control --reload-rules

sudo udevadm trigger


# 配置远程桌面(如需要)

sudo apt install -y xrdp

sudo systemctl enable xrdp

sudo systemctl start xrdp


# 配置防火墙允许RDP

sudo ufw allow 3389/tcp

```


## 七、深度学习环境搭建


### 7.1 PyTorch安装


```bash

# 安装PyTorch with CUDA 12.4

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124


# 验证PyTorch CUDA支持

python3 -c "import torch; print(f'PyTorch版本: {torch.__version__}'); print(f'CUDA可用: {torch.cuda.is_available()}'); print(f'设备数量: {torch.cuda.device_count()}')"


# 如果显示CUDA可用,测试张量计算

python3 -c "

import torch

x = torch.rand(1000, 1000).cuda()

y = torch.rand(1000, 1000).cuda()

z = x @ y

print(f'GPU计算完成,结果形状: {z.shape}')

"

```


### 7.2 TensorFlow安装


```bash

# 安装TensorFlow with GPU支持

pip3 install tensorflow[and-cuda]


# 验证安装

python3 -c "

import tensorflow as tf

print(f'TensorFlow版本: {tf.__version__}')

print(f'GPU设备列表: {tf.config.list_physical_devices(\"GPU\")}')

"


# 性能基准测试

cat > tf_benchmark.py << 'EOF'

import tensorflow as tf

import time


# 创建随机数据

size = 5000

with tf.device('/GPU:0'):

    a = tf.random.normal([size, size])

    b = tf.random.normal([size, size])


# 测试矩阵乘法性能

start = time.time()

c = tf.matmul(a, b)

end = time.time()


print(f'矩阵大小: {size}x{size}')

print(f'计算时间: {end-start:.2f}秒')

print(f'TFLOPS估算: {(2*size**3)/(end-start)/1e12:.2f}')

EOF


python3 tf_benchmark.py

```


## 八、系统维护脚本


```bash

#!/bin/bash

# nvidia_maintenance.sh


# 更新驱动

update_driver() {

    echo "检查NVIDIA驱动更新..."

    sudo apt update

    sudo apt upgrade nvidia-driver-550 -y

    sudo apt autoremove -y

}


# 清理缓存

clean_cache() {

    echo "清理GPU缓存..."

    sudo rm -rf ~/.nv

    sudo rm -rf /tmp/nvidia*

    

    # 清理CUDA缓存

    find ~ -name "*.pyc" -delete

    find ~ -name "__pycache__" -type d -exec rm -rf {} +

}


# 系统健康检查

health_check() {

    echo "=== 系统健康检查 ==="

    

    # 检查驱动状态

    if nvidia-smi &>/dev/null; then

        echo "✓ NVIDIA驱动运行正常"

    else

        echo "✗ NVIDIA驱动异常"

    fi

    

    # 检查温度

    temp=$(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader)

    if [ "$temp" -lt 85 ]; then

        echo "✓ GPU温度正常: ${temp}°C"

<"fomo.csxthr.com"><"dax.zhaiLimao.com"><"jushengyan.yunruiwater.cn">

    else

        echo "⚠ GPU温度偏高: ${temp}°C"

    fi

    

    # 检查内存使用

    echo "GPU内存使用:"

    nvidia-smi --query-gpu=memory.total,memory.used,memory.free --format=csv

}


# 主菜单

case "${1:-}" in

    update)

        update_driver

        ;;

    clean)

        clean_cache

        ;;

    check)

        health_check

        ;;

    *)

        echo "NVIDIA RTX 4090 维护工具"

        echo "用法: $0 {update|clean|check}"

        exit 1

        ;;

esac

```


按照本指南操作,可以在Ubuntu 24.04系统上成功安装并优化配置NVIDIA RTX 4090显卡驱动,为高性能计算和深度学习任务提供稳定可靠的基础环境。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/19545/viewspace-3108744/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-11-01

  • 博文量
    895
  • 访问量
    933956