CUDA out of memory & 查看进程
Linux 使用技巧阶段性总结
(For more information, please go to Alan D. Chen , upgrading~~)
Anaconda与conda区别:
conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。
conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身。
Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等。
两份重要的课程,一定要仔细看哟~。
下面的常用命令是较为常用的语句。
在Linux系统中查考GPU 的使用情况可以使用:
Linux查看Nvidia显卡信息及使用情况,查看GPU 的使用情况:
nvidia-smi
;(显示所有GPU的当前信息状态)watch -n 1 nvidia-smi
(实时查看GPU)
-
显示的表格中:
Fan: 风扇转速(0%--100%),N/A表示没有风扇
Temp: GPU温度(GPU温度过高会导致GPU频率下降)
Perf: 性能状态,从P0(最大性能)到P12(最小性能)
Pwr: GPU功耗
Persistence-M: 持续模式的状态(持续模式耗能大,但在新的GPU应用启动时花费时间更少)
Bus-Id: GPU总线,domain🚌device.function
Disp.A: Display Active,表示GPU的显示是否初始化
Memory-Usage:显存使用率
Volatile GPU-Util:GPU使用率
ECC: 是否开启错误检查和纠正技术,0/DISABLED, 1/ENABLED
Compute M.: 计算模式,0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED
附加选项:
nvidia-smi –i xxx
指定某个GPU
nvidia-smi –l xxx
动态刷新信息(默认5s刷新一次),按Ctrl+C停止,可指定刷新频率,以秒为单位
nvidia-smi –f xxx
将查询的信息输出到具体的文件中,不在终端显示
-
nvidia-smi -q
:查询所有GPU的当前详细信息
-
附加选项:
nvidia-smi –q –u
显示单元而不是GPU的属性
nvidia-smi –q –i xxx
指定具体的GPU或unit信息
nvidia-smi –q –f xxx
将查询的信息输出到具体的文件中,不在终端显示
nvidia-smi –q –x
将查询的信息以xml的形式输出
nvidia-smi -q –d xxx
指定显示GPU卡某些信息,xxx参数可以为MEMORY, UTILIZATION, ECC, TEMPERATURE, POWER,CLOCK, COMPUTE, PIDS, PERFORMANCE, SUPPORTED_CLOCKS, PAGE_RETIREMENT,ACCOUNTING
nvidia-smi –q –l xxx
动态刷新信息,按Ctrl+C停止,可指定刷新频率,以秒为单位
在Linux服务器上将常会遇到
CUDA out of memory
在机器学习领域,通常认为是batch size 设置过大所致,但是这里还有另外的情况。
在开启tmux的情况下,使用命令行启动深度学习程序,这个过程是不能够通过“ctrl + c”来强行停止的,但是可以通过tmux 进行python + 命令,这个时候可以通过
watch -n 1 nvidia-smi
1.查看GPU的占用情况,同时查看一下进程使用
top
top命令:可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。输入top后可以看到如下的界面,实时显示进程情况。
2.杀死进程
我们可以通过 进程的名字和进程的ID(PID)来结束进程。
结束命令:
kill:通过进程ID来结束进程
killall:通过进程名字结束进程
这样可以杀死进程,解放memory。