服务器GPU状态查询
- 查看
CPU
信息:
# 查看CPU信息 cat /proc/cpuinfo | grep "physical id" | uniq | wc -l #查看CPU个数 cat /proc/cpuinfo | grep "cpu cores" | uniq #查看CPU核数 cat /proc/cpuinfo | grep 'model name' |uniq #查看CPU型号
- 查看
GPU
信息
# 查看GPU信息 sudo dpkg --list | grep nvidia-* # 查看驱动版本 lshw -c video #查看显卡型号 $ lspci | grep -i nvidia # 可以查询所有nvidia显卡 $ lspci -v -s [显卡编号] # 可以查看显卡具体属性 $ nvidia-smi # 可以查看显卡的显存利用率 $ cat /etc/issue # 查看Linux发布版本号 $ lsb_release -a # 查看Linux发布版本号 $ uname -sr # 查看内核版本号 $ uname -a # 查看内核版本号
lspci
是一种实用程序,用于在系统中显示有关pci
总线的信息以及连接到它们的设备。
- 查看显卡型号:
lspci | grep -i nvidia #得到NVIDIA显卡的信息
输出信息完全看不出来是什么显卡,但是可以看到有一个1db5
:
在http://pci-ids.ucw.cz/read/PC/10de/1db5网址中输入1db5
能够查看到显卡型号:
watch
命令实时查看:
如果想要实时查看显卡信息,可以组合watch
命令:
$ watch -n 1 nvidia-smi
1
表示每隔1
秒,nvidia-smi
表示查看显卡。watch
这个命令是一个非常强大的命令,后面可以不接nvidia-smi
这个查看显卡显存利用率相关信息的命令。
torch.cuda主要函数
torch.cuda.is_available() # 查看是否有可用GPU torch.cuda.device_count() # 查看GPU数量 torch.cuda.get_device_capability(device) # 查看指定GPU容量 torch.cuda.get_device_name(device) # 查看指定GPU名称 torch.cuda.empty_cache() # 清空程序占用的GPU资源 torch.cuda.manual_seed(seed) # 设置随机种子 torch.cuda.manual_seed_all(seed) # 设置随机种子
指定显卡
通过os.environ["CUDA_VISIBLE_DEVICES"]
指定所要使用的显卡:
import os os.environ['CUDA_VISIBLE_DEVICES'] = "2,1,3,4" print("torch.cuda.device_count() {}".format(torch.cuda.device_count()))
这种设置方式,2
号卡就变成了主卡。CUDA_VISIBLE_DEVICES
表示当前可以被python
环境程序检测到的显卡。os.environ["CUDA_VISIBLE_DEVICES"] = "2,1,3,4"
进行指定使用设备,这样会修改pytorch
感受的设备编号,pytorch
感知的编号还是从device:0
开始。如上会把2
号显卡改为device:0
,1
号显卡改为device:1
。
上述对GPU
的设置一定要放在所有调用CUDA
的代码之前,否者会不生效。torch.cuda.device_count()
用于查看可用GPU
的数量。
通过os.environ["CUDA_VISIBLE_DEVICES"]
设置系统变量后,可能会使torch.cuda.device_count()
结果不准确。