跳到主要内容

面向 LLM 的 Linux 服务器检查清单

工程目标
  1. 形成摸清 Linux 服务器的基本思路。
  2. 判断服务器是否支持 LLM 部署或训练,以及可能的瓶颈。

拿到一台新的 Linux 服务器后,第一件事通常不是立刻部署模型,而是先摸清这台机器的基本情况。

检查思路:

  • 先看这台机器有什么资源
  • 再看这些资源能不能支撑 LLM 部署或训练
  • 最后判断哪里可能成为瓶颈

1. 为什么要先摸清服务器

同样一台“8 卡机器”,实际可用性可能差很多。

差异通常不只在 GPU 型号,还在这些地方:

  • CPU 核数够不够
  • 内存和 swap 是否正常
  • GPU 驱动、CUDA 是否可用
  • 磁盘空间是否足够放模型和数据
  • 网络能不能支撑模型下载、分布式训练或服务访问

如果不了解服务器的这些基础信息,后面很容易遇到几类问题:

  • 模型还没启动就 OOM
  • 训练速度很慢,但一时看不出瓶颈在哪
  • 多卡看起来都在工作,实际通信效率很差
  • 服务能跑,但吞吐、延迟和稳定性都不达标

所以更实际的做法是:先用几条命令把机器轮廓摸清,再决定下一步。


2. 基本检查清单

基本检查围绕 系统基础信息 / GPU / 内存 / GPU / 存储 / 网络 这6方面来展开:

2.1 系统基础信息

这部分容易被忽略,但很实用。

常用命令:

uname -a
cat /etc/os-release
hostnamectl
date

至少要确认:

  • 当前发行版和内核版本
  • 系统时间是否正确
  • 后续安装驱动、CUDA、Docker 时是否有兼容性风险

2.2 CPU

重点看:

  • CPU 型号
  • 核心数、线程数
  • 架构
  • NUMA 拓扑
  • 当前负载

常用命令:

lscpu
nproc
cat /proc/cpuinfo | grep "model name" | head -1
uptime
top

实践上可以先看两件事:

  • 核数够不够支撑数据处理、tokenization、日志和推理服务调度
  • 是否有 NUMA,避免后面多卡训练时踩到跨 NUMA 的性能坑

2.3 内存

重点看:

  • 总内存
  • 可用内存
  • swap 是否开启
  • 内存压力是否异常

常用命令:

free -h
cat /proc/meminfo | head
vmstat 1 5

实践上最先看:

  • 内存是不是明显偏小
  • swap 是否已经被大量使用
  • 如果还没跑任务,机器内存就很紧张,后面大概率会出问题

2.4 GPU

重点看:

  • GPU 型号
  • GPU 数量
  • 单卡显存
  • 驱动版本
  • CUDA 版本
  • GPU 利用率、显存占用、温度

常用命令:

nvidia-smi
nvidia-smi -L
nvidia-smi topo -m
watch -n 1 nvidia-smi

对 LLM 来说,GPU 是最关键的一层。

先回答这几个问题:

  • 这是消费级卡还是数据中心卡
  • 单卡显存有多大
  • 多卡之间有没有 NVLink 或更好的互联
  • 驱动和 CUDA 能不能支撑后续框架

如果服务器没有 NVIDIA GPU,也要先确认你后续要用的框架是否支持当前硬件。

2.5 磁盘和存储

重点看:

  • 总容量
  • 剩余空间
  • 挂载点
  • 盘类型
  • 数据盘和系统盘是否分开

常用命令:

lsblk
df -h
mount | head -20
du -sh /var/log
du -sh /path/to/model

实践上常见问题不是“没盘”,而是:

  • 模型权重放得下,但数据集和缓存放不下
  • checkpoint 写盘太慢
  • 系统盘被日志或缓存打满

如果要做训练,存储性能通常比“总容量”更重要。

2.6 网络

重点看:

  • 网卡信息
  • IP 地址
  • 默认路由
  • 连通性
  • 开放端口

常用命令:

ip addr
ip route
ping -c 4 8.8.8.8
ss -tulpen
ethtool <网卡名>

实践上主要看:

  • 能不能访问外网下载模型和依赖
  • 服务监听端口是否正确
  • 多机时网络是否稳定

如果是单机部署,网络问题更多影响模型下载和 API 服务访问。
如果是多机训练,网络质量会直接影响训练效率。


3. LLM 部署和训练时的重点关注

同样是检查服务器,做 LLM 部署和做训练,重点不完全一样。

1. 如果是做 LLM 部署

要优先关注:

  • GPU 显存是否放得下模型权重
  • 上下文长度和并发下,KV Cache 会不会成为瓶颈
  • 推理框架和驱动、CUDA 是否兼容
  • 磁盘是否够放模型、量化版本和缓存
  • CPU 和内存是否够支撑 tokenizer、前后处理和服务调度

一个很实用的判断方法是:

  1. 先看模型权重能不能放下
  2. 再看长上下文和并发时 KV Cache 会不会把显存吃满
  3. 最后再看吞吐和延迟

很多时候,部署失败不是因为“模型太大”,而是因为低估了 KV Cache 和运行时开销。

2. 如果是做 LLM 训练

要优先关注:

  • GPU 型号、显存、卡数
  • 多卡互联方式
  • CPU 核数和内存是否够数据加载
  • 磁盘吞吐是否够数据集和 checkpoint
  • 多机网络是否足够稳定

训练场景下,下面这些问题尤其常见:

  • GPU 很强,但 CPU 太弱,数据加载跟不上
  • 显存够,但卡间通信差,扩展效率低
  • checkpoint 频繁写盘,结果被磁盘拖慢
  • 多机网络抖动,导致训练不稳定

所以训练时不要只盯着 GPU 算力,还要一起看 CPU、内存、存储和网络。

3. 推荐实践

如果你刚拿到一台机器,可以先按下面顺序过一遍:

  1. uname -acat /etc/os-release 看系统版本
  2. lscpufree -h 看 CPU 和内存
  3. nvidia-sminvidia-smi topo -m 看 GPU 和拓扑
  4. lsblkdf -h 看磁盘和挂载
  5. ip addrip routess -tulpen 看网络
  6. tophtop 看当前负载

跑完这几步,通常就能判断:

  • 这台机器更适合推理还是训练
  • 主要瓶颈可能在哪
  • 下一步应该先装环境、先压测,还是先换机器

FAQ

服务器有很多 GPU,就一定适合做 LLM 吗

不一定。还要看显卡架构、显存大小、卡间互联、驱动环境、CPU、内存和磁盘等来能做出综合判断。

显存够放模型,就说明可以稳定部署

不一定。部署还要考虑 KV Cache、并发、上下文长度和运行时开销。

做训练时最重要的就是 GPU

GPU 很重要但不是唯一关键项,CPU、内存、存储和网络也会成为明显瓶颈。


小结

掌握一台 Linux 服务器,不是先背很多命令,而是先知道自己要确认什么。
对 LLM 场景来说,最重要的是把 CPU、内存、GPU、磁盘、网络几方面一起看,而不是只盯着模型参数量或显卡型号。