GPUStress 是一个基于 PyTorch CUDA 的多 GPU 压测命令行工具。它会自动检测本机 GPU、选择矩阵规模,并为每张 GPU 启动独立进程持续运行矩阵计算。
核心用法:
stress start --gpu 0
stress start --gpu 0,2
stress status
stress stop注意:本工具仅供测试和娱乐用途。它会让 GPU 长时间保持高负载,请不要把它当作硬件认证、生产验收或无人值守稳定性验证工具。
git clone https://github.com/WR-git2023/GPUStress.git
cd GPUStress
./install.sh安装脚本会把 stress 命令安装到用户级 Python bin 目录,并把该目录写入 ~/.profile 和当前 shell 的配置文件。安装一次后即可长期使用,重启终端或重启机器后也不需要重新下载、重新安装。
注意:脚本不能直接修改“启动它的那个终端”的当前环境变量。如果安装后当前终端还找不到 stress,执行安装脚本最后提示的 export PATH=...,或重新打开一个终端。
stress -h
stress start
stress status
stress logs -f
stress stop常用参数:
stress start --gpus 2
stress start --gpu 0,2
stress start --size 8192
stress start --dtype fp16
stress start --foreground
CUDA_VISIBLE_DEVICES=0,1 stress start指定 GPU:
stress start --gpu 0
stress start --gpu 1,3
stress run --gpu 2 --size 4096--gpu 使用 PyTorch 当前可见的 GPU ID;未设置 CUDA_VISIBLE_DEVICES 时通常与 nvidia-smi 的 GPU ID 一致。不要同时使用 --gpu 和 --gpus;前者用于精确指定 GPU,后者只表示使用前 N 张 GPU。--devices 也可作为 --gpu 的兼容别名。
install.sh 会持久配置用户级 PATH,因此 stress 可以在任意目录执行。系统级全局 PATH 通常需要 sudo 权限修改 /etc/profile.d/,本项目默认不写系统目录。
可选环境变量:
export GPU_STRESS_PID_FILE=/tmp/gpu_stress.pid
export GPU_STRESS_LOG_FILE=/tmp/gpu_stress.log
export CUDA_VISIBLE_DEVICES=0,1如果系统里已经存在另一个 /usr/bin/stress,安装脚本会把用户级 bin 目录放到 PATH 前面,让本工具的 stress 优先被执行。
- Linux
- Python 3.9+
- NVIDIA GPU 和可用驱动
- 支持 CUDA 的 PyTorch
默认安装会通过 pip 安装 torch>=2.0。如果你的 CUDA 环境需要特定 PyTorch 版本,请先按 PyTorch 官方说明安装匹配的 CUDA wheel,然后再运行:
python3 -m pip install --user --upgrade .python3 -m pip uninstall gpu-stress-cli如需完全清理,可以从 ~/.profile、~/.bashrc 或 ~/.zshrc 删除 # Added by GPUStress installer 附近的 PATH 配置。