查看: 3585|回复: 0

[开发环境] Ubuntu边跑代码边监控GPU、CPU、内存的利用率

[复制链接]

665

主题

1234

帖子

6683

积分

xdtech

Rank: 5Rank: 5

积分
6683
发表于 2020-2-24 15:17:21 | 显示全部楼层 |阅读模式
本帖最后由 易学智能 于 2020-3-26 10:27 编辑

当代码,比如train,跑起来后,想看看系统资源的利用率,该怎么办呢。
方法有很多,这里介绍两种。

----------------方法一:一键查看-----------------------------
开机后,控制台-我的主机,你将看到以下按钮“资源利用率”。点击后即可看到利用率。
util.jpg

----------------方法二:Jupyter命令行-----------------------------

第一步,在控制台,打开一个jupyter终端,如下图所示

termial.png

打开后的终端,如下图所示。
ter-page.png


第二步,输入监控GPU的命令:watch -n 1 nvidia-smi
watch.png
结果如下图所示。
watch-result.png

注意:1. 这个数据,一秒刷新一次。某些时候,GPU的利用率为0,不意味着GPU没用起来。
2. 判断GPU是否被使用的金标准是,显存是否被占用。若未用起来,显存的占用,很少超过200M。

第三步,重复第一步,新开一个jupyter终端。并输入命令:top

top.png

结果如下图。
top-result.png
CPU利用率的解析:
1. 红框内的%CPU,是单核的利用率。例如,租了3核,则CPU利用率之和,可达300% (还可能会稍高)。若有python代码在运行,则python这个进程会占用大量的CPU。
2. top命令会不断刷新CPU的数据。

memory.jpg
内存利用率的解析:
1. 红框内的%Mem,是该程序占用内存与主机总内存的比值。主机总内存,蓝框标注的位置。
2. 计算某个程序的内存占用,用%Mem的值与蓝框的total值相乘。
3. 主机总内存,是整个物理主机的内存。用户在开机时的内存,是分配给用户的内存,它通常是总内存的一部分。注意区分这两个概念。


以上方案的优势:
1. 在网页端直接查看,无需连接x2go。
2. 当训练如火如荼时,系统资源比较紧张,x2go可能会连接不上。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表