转载自:https://blog.csdn.net/alxe_made/article/details/80471739
https://blog.csdn.net/wenxuechaozhe/article/details/52565674
https://blog.csdn.net/C_chuxin/article/details/84990476
查看显卡使用情况
nvidia-smi # 查看当前nvidia显卡使用情况
watch -n 10 nvidia-smi # 每隔十秒查看nvidia显卡使用情况
使用指定显卡
1.在终端执行程序时指定GPU
CUDA_VISIBLE_DEVICES=0 python your_file.py # 指定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 多GPU一起使用
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
2.在Python代码中指定GPU
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0" #指定第一块gpu
3.设置定量的GPU使用量
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 占用GPU90%的显存
session = tf.Session(config=config)
4.设置最小的GPU使用量
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)
程序清除
当不正常退出程序时,该程序可能继续占用GPU与内存,因此为了腾出内存必须杀掉这个程序
# 请先查看占用资源的进程归属方是谁,以及运行的是什么指令;PID号从nvidia-smi指令中可以找到
ps -f PID号
# 然后确认该进程可以kill掉情况下直接杀掉
kill -9 PID号 # 注意必须加-9,否则可能杀不掉进程
额外指令
ps -ef # 查看所有进程信息
ps -ef | grep zookeeper # 查看指定名称进程的情况