1. 在终端执行程序时指定GPU
#典型句法:指定GPU集群中第一块GPU使用,其他的屏蔽掉
CUDA_VISIBLE_DEVICES=0 python test.py
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. 监视显卡使用情况
Nvidia自带了一个nvidia-smi的命令行工具,会显示显存使用情况,但是仅能执行一次;如果想要循环往复地执行监视的命令,可以使用watch命令。watch最常用的参数是 -n, 后面指定是每多少秒来执行一次命令。 watch -n 10 nvidia-smi
nvidia-smi 是英文短语 nvidia system management interface 的缩写。
当然更好用的是安装 gpustat,实现对显卡使用情况的实时更新:
使用 pip install gpustat 即可安装,基于 nvidia-smi,可以美观简洁的动态实时监控 GPU 的使用情况。
watch --color -n1 gpustat -cpu
3.1 监视内存与CPU使用情况
top命令可以查看各线程占用内存与CPU信息,但是同时注意到top命令可以提供更多信息:
可以看到top命令查看task总数,还可以看内存的总量;free与used分别的总量。
当然也可以用单独的命令来查看内存与cpu情况。
free 用KB为单位展示数据
free -m 用MB为单位展示数据
free -h 用GB为单位展示数据
4. 查看电脑CPU参数与内存
#总核数 = 物理CPU个数 X 每颗物理CPU的核数
#查看物理CPU个数,可以看到挂载CPU数目
cat /proc/cpuinfo| grep ‘physical id’
#查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep cpu cores
#查看CPU总核数,也就是cores和physical id的乘积
cat /proc/cpuinfo | grep processor
#查看CPU信息(型号)
cat /proc/cpuinfo | grep name
#查看内存信息
cat /proc/meminfo
5. Xfce热键冲突问题
在安装了Xfce界面的Linux 服务器上adduser的时,新用户可能会出现Tab键失效的问题,这个是因为新用户的Xfce界面抢占了Tab快捷键,造成了彼此之间的热键冲突,直接进行修改即可。