Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控

欢迎关注专栏: CSDN:AI 开发技术

Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控

文章目录

  • [Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控](#Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控)
    • [1 业务背景与核心问题](#1 业务背景与核心问题)
    • [2 Linux核心运维实战](#2 Linux核心运维实战)
      • [2.1 进程管理实战](#2.1 进程管理实战)
        • [2.1.1 ps 基础进程查看](#2.1.1 ps 基础进程查看)
        • [2.1.2 ps aux 运维核心命令](#2.1.2 ps aux 运维核心命令)
        • [2.1.3 top 实时系统进程监控](#2.1.3 top 实时系统进程监控)
        • [2.1.4 htop top增强版](#2.1.4 htop top增强版)
        • [2.1.5 kill 进程终止操作](#2.1.5 kill 进程终止操作)
        • [2.1.6 jobs 与 bg 后台任务管理](#2.1.6 jobs 与 bg 后台任务管理)
      • [2.2 网络排查实战](#2.2 网络排查实战)
        • [2.2.1 curl 网络请求工具](#2.2.1 curl 网络请求工具)
        • [2.2.2 wget 文件下载工具](#2.2.2 wget 文件下载工具)
        • [2.2.3 ss 本地网络连接查看](#2.2.3 ss 本地网络连接查看)
        • [2.2.4 netstat 网络状态查看](#2.2.4 netstat 网络状态查看)
        • [2.2.5 ping 网络连通性测试](#2.2.5 ping 网络连通性测试)
        • [2.2.6 traceroute 网络路径追踪](#2.2.6 traceroute 网络路径追踪)
        • [2.2.7 dig DNS解析查询](#2.2.7 dig DNS解析查询)
        • [2.2.8 完整网络分层排查流程](#2.2.8 完整网络分层排查流程)
      • [2.3 文件权限管理实战](#2.3 文件权限管理实战)
        • [2.3.1 测试环境准备](#2.3.1 测试环境准备)
        • [2.3.2 测试文件与目录创建](#2.3.2 测试文件与目录创建)
        • [2.3.3 权限查看与核心模型](#2.3.3 权限查看与核心模型)
        • [2.3.4 chmod 权限修改](#2.3.4 chmod 权限修改)
        • [2.3.5 chown 所有者修改](#2.3.5 chown 所有者修改)
        • [2.3.6 sudo 管理员权限操作](#2.3.6 sudo 管理员权限操作)
    • [3 AI大模型开发环境实战(vLLM/PyTorch/CUDA)](#3 AI大模型开发环境实战(vLLM/PyTorch/CUDA))
      • [3.1 环境准备](#3.1 环境准备)
      • [3.2 CUDA与GPU基础监控](#3.2 CUDA与GPU基础监控)
        • [3.2.1 GPU状态查看](#3.2.1 GPU状态查看)
        • [3.2.2 CUDA工具安装与版本查看](#3.2.2 CUDA工具安装与版本查看)
        • [3.2.3 GPU实时监控](#3.2.3 GPU实时监控)
      • [3.3 PyTorch GPU环境校验](#3.3 PyTorch GPU环境校验)
      • [3.4 vLLM大模型推理服务部署](#3.4 vLLM大模型推理服务部署)
        • [3.4.1 vLLM安装与版本查看](#3.4.1 vLLM安装与版本查看)
        • [3.4.2 启动OpenAI格式API服务](#3.4.2 启动OpenAI格式API服务)
        • [3.4.3 服务端口校验](#3.4.3 服务端口校验)
        • [3.4.4 API接口测试](#3.4.4 API接口测试)
      • [3.5 多GPU分布式运行](#3.5 多GPU分布式运行)
        • [3.5.1 vLLM多卡张量并行](#3.5.1 vLLM多卡张量并行)
        • [3.5.2 torchrun分布式训练](#3.5.2 torchrun分布式训练)
      • [3.6 模型进程管理与缓存清理](#3.6 模型进程管理与缓存清理)
        • [3.6.1 训练/推理进程查看](#3.6.1 训练/推理进程查看)
        • [3.6.2 卡死进程终止](#3.6.2 卡死进程终止)
        • [3.6.3 Hugging Face模型缓存管理](#3.6.3 Hugging Face模型缓存管理)
    • [4 AI工程运维核心技能](#4 AI工程运维核心技能)
      • [4.1 端口占用排查](#4.1 端口占用排查)
        • [4.1.1 指定端口查看](#4.1.1 指定端口查看)
        • [4.1.2 端口占用进程查询](#4.1.2 端口占用进程查询)
      • [4.2 日志查看与分析](#4.2 日志查看与分析)
        • [4.2.1 训练日志保存](#4.2.1 训练日志保存)
        • [4.2.2 实时日志监控](#4.2.2 实时日志监控)
        • [4.2.3 错误日志筛选](#4.2.3 错误日志筛选)
      • [4.3 CUDA环境变量配置](#4.3 CUDA环境变量配置)
        • [4.3.1 查看GPU可见性变量](#4.3.1 查看GPU可见性变量)
        • [4.3.2 指定运行GPU](#4.3.2 指定运行GPU)
    • [5 AI工程全流程排查指南](#5 AI工程全流程排查指南)
    • [6 核心必背命令速查](#6 核心必背命令速查)
    • [7 AI工程常见问题与排查方案](#7 AI工程常见问题与排查方案)

关键词 :Linux进阶, 进程管理, 网络排错, CUDA监控, vLLM 阅读耗时:约 25 分钟

本文为个人技术学习笔记分享,记录工程实践过程,仅供参考。

1 业务背景与核心问题

作为全栈与 AI 开发者,扎实的 Linux 运维基本功是确保服务稳定、高效运行的前提。

2 Linux核心运维实战

2.1 进程管理实战

核心命令:

Bash 复制代码
ps
top
htop
kill
jobs
bg
2.1.1 ps 基础进程查看
Bash 复制代码
ps
   PID TTY          TIME CMD
   2180 pts/4    00:00:00 bash
   2736 pts/4    00:00:00 ps
字段 含义
PID 进程ID
TTY 终端
TIME CPU占用时间
CMD 命令名称
2.1.2 ps aux 运维核心命令
Bash 复制代码
ps aux
参数 含义
a 所有用户进程
u 显示用户信息
x 显示后台进程
2.1.3 top 实时系统进程监控
Bash 复制代码
top
按键 作用
q 退出
P 按CPU排序
M 按内存排序
k 杀进程
字段 含义
PID 进程ID
USER 用户
%CPU CPU占用
%MEM 内存占用
COMMAND 命令
2.1.4 htop top增强版

安装:

Bash 复制代码
sudo apt install htop

运行:

Bash 复制代码
htop
按键 作用
F3 搜索
F4 过滤
F9 杀进程
q 退出
2.1.5 kill 进程终止操作
Bash 复制代码
# 查看 PID
ps aux | grep [xxx]

# 终止进程
kill [PID]

# kill -9 ------ 强制终止(危险)
kill -9 [PID]
参数 含义
kill 发送信号
-9 强制终止(SIGKILL)

强制终止风险:

  • 文件损坏
  • checkpoint损坏
  • 数据未保存
2.1.6 jobs 与 bg 后台任务管理

启动后台任务:

Bash 复制代码
sleep 100 &

& 代表后台运行

查看后台任务:

Bash 复制代码
jobs

后台恢复运行:

Bash 复制代码
bg

操作流程:

  1. sleep 100 使终端卡住
  2. 终止:Ctrl + C
  3. 暂停:Ctrl + Z
  4. 后台恢复:bg

2.2 网络排查实战

核心命令:

Bash 复制代码
curl
wget
ss
netstat
ping
traceroute
dig
2.2.1 curl 网络请求工具
Bash 复制代码
curl https://www.baidu.com

查看响应头:

Bash 复制代码
curl -I https://www.baidu.com

保存网页到文件:

Bash 复制代码
curl -o baidu.html https://www.baidu.com
选项 含义
-o 输出到指定文件
baidu.html 保存的文件名
2.2.2 wget 文件下载工具
Bash 复制代码
wget https://www.baidu.com
2.2.3 ss 本地网络连接查看
Bash 复制代码
ss -tuln

查看80/443端口:

Bash 复制代码
ss -tuln | grep 443
参数 含义
-t TCP协议
-u UDP协议
-l 仅显示监听端口
-n 以数字形式显示
2.2.4 netstat 网络状态查看

安装:

Bash 复制代码
sudo apt install net-tools

查看监听端口:

Bash 复制代码
netstat -tuln

查看进程占用端口:

Bash 复制代码
netstat -tulnp
参数 含义
-t TCP
-u UDP
-l 监听
-n 数字格式
-p 显示进程
2.2.5 ping 网络连通性测试
Bash 复制代码
ping www.baidu.com

# 指定ping包次数
ping -c 4 www.baidu.com
2.2.6 traceroute 网络路径追踪

安装:

Bash 复制代码
sudo apt install traceroute

追踪百度路由:

Bash 复制代码
traceroute www.baidu.com
2.2.7 dig DNS解析查询

安装:

Bash 复制代码
sudo apt install dnsutils

执行查询:

Bash 复制代码
dig www.baidu.com
2.2.8 完整网络分层排查流程
Bash 复制代码
# 1. DNS 解析校验
dig +short www.baidu.com

# 2. 网络连通性校验
ping www.baidu.com

# 3. HTTPS服务可用性
curl -I https://www.baidu.com

# 4. 文件下载测试
wget https://www.baidu.com

# 5. 本地端口监听状态
ss -tuln
网络层级 排查命令
DNS层 dig
网络层 ping
路由层 traceroute
传输层 ss/netstat
应用层 curl/wget

2.3 文件权限管理实战

核心命令:

Bash 复制代码
chmod
chown
sudo
2.3.1 测试环境准备
Bash 复制代码
cd ~
mkdir -p linux-practice/permission-demo
cd linux-practice/permission-demo
2.3.2 测试文件与目录创建
Bash 复制代码
touch file.txt
mkdir test_dir
2.3.3 权限查看与核心模型

查看权限:

Bash 复制代码
ls -l

Linux权限模型:[user][group][others]

对象 含义
user 文件所有者
group 所属用户组
others 其他所有用户
2.3.4 chmod 权限修改

权限数值规则:

权限 数值
r 4
w 2
x 1

权限组合计算:

权限 数值计算 结果
rwx 4+2+1 7
rw- 4+2 6
r-- 4 4
r-x 4+1 5

数字模式修改:

Bash 复制代码
chmod 644 file.txt
# 权限:-rw-r--r--

chmod 755 test_dir
# 权限:drwxr-xr-x(目录x权限代表可进入)

符号模式修改:

符号 含义
u user
g group
o others
a all
+ 添加权限
- 删除权限
Bash 复制代码
# 给所有者添加执行权限
chmod u+x file.txt

# 移除其他用户读权限
chmod o-r file.txt

# 给用户组添加写权限
chmod g+w file.txt
2.3.5 chown 所有者修改
Bash 复制代码
# 修改文件所有者
sudo chown username file.txt

# 同时修改所有者与用户组
sudo chown username:groupname file.txt
2.3.6 sudo 管理员权限操作
Bash 复制代码
# 安装软件
sudo apt install tree

# 系统更新
sudo apt update

3 AI大模型开发环境实战(vLLM/PyTorch/CUDA)

核心命令:

Bash 复制代码
python
pip
nvidia-smi
nvcc
torchrun
vllm

3.1 环境准备

Bash 复制代码
cd ~
mkdir -p llm-dev
cd llm-dev

3.2 CUDA与GPU基础监控

3.2.1 GPU状态查看
Bash 复制代码
nvidia-smi
字段 含义
GPU Name GPU型号
Memory-Usage 显存占用
GPU-Util GPU利用率
Processes GPU进程

查看GPU数量:

Bash 复制代码
nvidia-smi -L
nvidia-smi -L | wc -l
3.2.2 CUDA工具安装与版本查看

安装:

Bash 复制代码
sudo apt install nvidia-cuda-toolkit

查看CUDA版本:

Bash 复制代码
nvcc --version

查看CUDA安装路径:

Bash 复制代码
which nvcc
3.2.3 GPU实时监控
Bash 复制代码
watch -n 1 nvidia-smi

3.3 PyTorch GPU环境校验

进入Python环境:

Bash 复制代码
python

核心校验命令:

Python 复制代码
import torch

# 检查CUDA是否可用
torch.cuda.is_available()

# 查看GPU数量
torch.cuda.device_count()

# 查看GPU名称
torch.cuda.get_device_name(0)

# 查看当前使用设备
torch.cuda.current_device()

# 退出Python
exit()

3.4 vLLM大模型推理服务部署

3.4.1 vLLM安装与版本查看
Bash 复制代码
pip install vllm
vllm --version
3.4.2 启动OpenAI格式API服务
Bash 复制代码
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen2-7B-Instruct
3.4.3 服务端口校验
Bash 复制代码
ss -tuln | grep 8000
3.4.4 API接口测试

查看模型列表:

Bash 复制代码
curl http://localhost:8000/v1/models

对话接口请求:

Bash 复制代码
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model":"Qwen/Qwen2-7B-Instruct",
"messages":[
{"role":"user","content":"hello"}
]
}'

3.5 多GPU分布式运行

3.5.1 vLLM多卡张量并行
Bash 复制代码
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen2-7B-Instruct \
--tensor-parallel-size 2
参数 含义
--model 模型名称
--tensor-parallel-size GPU数量
3.5.2 torchrun分布式训练

单机双卡启动:

Bash 复制代码
torchrun --nproc_per_node=2 train.py
参数 含义
torchrun PyTorch分布式启动
--nproc_per_node 单节点GPU数量

3.6 模型进程管理与缓存清理

3.6.1 训练/推理进程查看
Bash 复制代码
ps aux | grep python
ps aux | grep vllm
nvidia-smi
3.6.2 卡死进程终止
Bash 复制代码
# 查询进程PID
ps aux | grep python

# 正常终止
kill PID

# 强制终止
kill -9 PID
3.6.3 Hugging Face模型缓存管理

默认缓存目录:

Bash 复制代码
~/.cache/huggingface/

查看缓存大小:

Bash 复制代码
du -sh ~/.cache/huggingface

查看磁盘空间:

Bash 复制代码
df -h

4 AI工程运维核心技能

4.1 端口占用排查

4.1.1 指定端口查看
Bash 复制代码
ss -tulnp | grep 8000
4.1.2 端口占用进程查询
Bash 复制代码
lsof -i:8000

4.2 日志查看与分析

4.2.1 训练日志保存
Bash 复制代码
python train.py > train.log 2>&1
4.2.2 实时日志监控
Bash 复制代码
tail -f train.log
4.2.3 错误日志筛选
Bash 复制代码
grep ERROR train.log

4.3 CUDA环境变量配置

4.3.1 查看GPU可见性变量
Bash 复制代码
echo $CUDA_VISIBLE_DEVICES
4.3.2 指定运行GPU
Bash 复制代码
# 单卡运行
CUDA_VISIBLE_DEVICES=0 python train.py

# 双卡运行
CUDA_VISIBLE_DEVICES=0,1 python train.py

5 AI工程全流程排查指南

GPU硬件校验

Bash 复制代码
nvidia-smi

CUDA环境校验

Bash 复制代码
nvcc --version

PyTorch CUDA识别校验

Bash 复制代码
python
import torch
torch.cuda.is_available()

vLLM服务启动状态

Bash 复制代码
ss -tuln | grep 8000

API接口可用性

Bash 复制代码
curl http://localhost:8000/v1/models

6 核心必背命令速查

命令 作用
nvidia-smi 查看GPU状态
nvcc --version 查看CUDA版本
pip list 查看Python依赖包
torch.cuda.is_available() 检查PyTorch CUDA
ss -tuln 查看端口监听
tail -f 实时查看日志
ps aux 查看系统进程

7 AI工程常见问题与排查方案

问题 排查命令
GPU不可见 nvidia-smi
CUDA环境异常 nvcc --version
PyTorch未识别GPU torch.cuda.is_available()
vLLM服务无法访问 ss -tuln
端口冲突占用 lsof -i
模型下载失败 curl/wget
显存溢出爆炸 nvidia-smi
训练/推理服务卡死 ps aux + kill
相关推荐
跨境数据猎手2 小时前
跨境商城反向海淘系统开发全流程逻辑(上)
人工智能·爬虫·系统架构
听你说322 小时前
丈八科技与浪潮海若达成战略合作:共建人工智能产测一体化超级工厂
人工智能·科技
初心未改HD2 小时前
深度学习之Attention注意力机制详解
人工智能·深度学习
code_pgf3 小时前
模态生成器:原理详解与推荐开源项目
人工智能·深度学习·开源
ws2019073 小时前
AUTO TECH China 2026广州汽车零部件展:从整机集成迈向核心部件的产业跃升
大数据·人工智能·科技·汽车
MomentYY3 小时前
第 3 篇:让 Agent 学会分工,LangGraph 构建多 Agent系统
人工智能·python·agent
初心未改HD3 小时前
深度学习之Transformer架构详解
人工智能·深度学习·transformer
拾年2753 小时前
一个项目教你玩转Claude Code 常用命令
人工智能
阿里云大数据AI技术3 小时前
PAI-FA|突破 TMEM 瓶颈:FlashAttention-4 大 Head Dimension (256) 高性能算子实现与优化
人工智能