GPU状态监测
命令: nvidia-smi
功能:显示机器上gpu的情况
上图是服务器上 GeForce GTX 1080 Ti 的信息,下面一一解读参数。
上面的表格中的红框中的信息与下面的四个框的信息是一一对应的:
GPU:GPU 编号;
Name:GPU 型号;
Persistence-M:持续模式的状态。持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态;
Fan:风扇转速,从0到100%之间变动;
Temp:温度,单位是摄氏度;
Perf:性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能(即 GPU 未工作时为P0,达到最大工作限度时为P12)。
Pwr:Usage/Cap:能耗;
Memory Usage:显存使用率;
Bus-Id:涉及GPU总线的东西,domain:bus:device.function;
Disp.A:Display Active,表示GPU的显示是否初始化;
Volatile GPU-Util:浮动的GPU利用率;
Uncorr. ECC:Error Correcting Code,错误检查与纠正;
Compute M:compute mode,计算模式。
命令: nvidia-smi -L
功能:定时更新显示机器上gpu的情况
该命令用于列出所有可用的 NVIDIA 设备信息
在终端执行程序时指定GPU
CUDA_VISIBLE_DEVICES=1 python your_file.py
这样在跑你的网络之前,告诉程序只能看到1号GPU,其他的GPU它不可见
可用的形式如下:
CUDA_VISIBLE_DEVICES=1 # Only device 1 will be seen
CUDA_VISIBLE_DEVICES=0,1 # Devices 0 and 1 will be visible
CUDA_VISIBLE_DEVICES="0,1" # Same as above, quotation marks are optional
CUDA_VISIBLE_DEVICES=0,2,3 # Devices 0, 2, 3 will be visible; device 1 is masked
CUDA_VISIBLE_DEVICES="" # No GPU will be visible
在Python代码中指定GPU
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
设置定量的GPU使用量
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 占用GPU90%的显存
session = tf.Session(config=config)
设置最小的GPU使用量
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)
LINK
tensorflow中指定GPU及GPU显存设置
GPU状态监测 nvidia-smi 命令详解