Linux操作系统监视NVIDIA的GPU使用情况

对于GPU相关参数介绍

  • 使用命令周期性查看GPU运行情况
  • 最常用的参数是 -n, 后面指定是每多少秒来执行一次命令。监视显存:设置为每 1s 显示一次显存的情况:
  • 使用命令ctrl+z退出
watch -n 1 nvidia-smi

参数介绍

  • Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A;实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如将服务器放在空调房间里)。
  • Temp:显卡内部的温度,单位是摄氏度;
  • Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;
  • Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
  • Pwr:能耗表示;
  • Bus-Id:涉及GPU总线的相关信息;
  • Disp.A:是Display Active的意思,表示GPU的显示是否初始化;
  • Memory Usage:显存的使用率;
  • Volatile GPU-Util:浮动的GPU利用率;
  • Compute M:计算模式;
  • 参考链接

Intel

安装intel-gpu-tools工具

yum install intel-gpu-tools
//安装完毕后, 系统中会多种三个gpu工具: intel_gpu_abrt   intel_gpu_time   intel_gpu_top,其中,常用的是intel_gpu_top和intel_gpu_time。

指定GPU、CPU运行

  • 在多GPU系统里使用单一GPU。为了获取 operations 和 Tensor 被指派到哪个设备上运行, 用 log_device_placement 新建一个 session, 并设置为 True
  • tensorflow
# 新建一个 graph.
with tf.device('/gpu:0'):
  a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
  b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
  c = tf.matmul(a, b)
# 新建 session with log_device_placement 并设置为 True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# 运行这个 op.
print sess.run(c)
  • kreas
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0' if on_server is False else '0,1'

猜你喜欢

转载自blog.csdn.net/CHYabc123456hh/article/details/106651925