文章目录
- 静态查看GPU使用情况
- 动态查看GPU使用情况
- 查看CPU使用情况
主要用到了
nvidia-smi
和
top
命令。
静态查看GPU使用情况
nvidia-smi
动态查看GPU使用情况
-n后面的数字是更新的时间间隔:
watch -n 1 nvidia-smi
-n 1
代表每隔1秒刷新一次,ctrl+c
退出。
表格参数详解:
- **GPU:**本机中的GPU编号(有多块显卡的时候,从0开始编号)图上GPU的编号是:0
- **Fan:**风扇转速(0%-100%),N/A表示没有风扇
- **Name:**GPU类型,图上GPU的类型是:Tesla T4
- **Temp:**GPU的温度(GPU温度过高会导致GPU的频率下降)
- **Perf:**GPU的性能状态,从P0(最大性能)到P12(最小性能),图上是:P0
- **Persistence-M:**持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时花费的时间更少,图上显示的是:off
- **Pwr:Usager/Cap:**能耗表示,Usage:用了多少,Cap总共多少
- **Bus-Id:**GPU总线相关显示,domain:bus:device.function
- **Disp.A:**Display Active ,表示GPU的显示是否初始化
- **Memory-Usage:**显存使用率
- **Volatile GPU-Util:**GPU使用率
- **Uncorr. ECC:**关于ECC的东西,是否开启错误检查和纠正技术,0/disabled,1/enabled
- **Compute M:**计算模式,0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED
- **Processes:**显示每个进程占用的显存使用率、进程号、占用的哪个GPU
每个进程有一个唯一的PID,如果想关闭掉某个进程,可以使用命令:
sudo kill -9 PID
显存占用和GPU占用是两个不一样的东西,显卡是由GPU和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。显存与GPU分别占得多少不确定。
查看CPU使用情况
top
ctrl+c
退出查看。
第一行,任务队列信息,同 uptime 命令的执行结果
系统时间:19:27:01
运行时间:up 54 min,
当前登录用户: 1 user
负载均衡(uptime) load average: 0.02, 0.03, 0.00
average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了
第二行,Tasks — 任务(进程)
总进程:159 total, 运行:1 running, 休眠:157 sleeping, 停止: 1 stopped, 僵尸进程: 0 zombie
第三行,cpu状态信息
0.0%us【user space】— 用户空间占用CPU的百分比。
0.1%sy【sysctl】— 内核空间占用CPU的百分比。
0.0%ni【】— 改变过优先级的进程占用CPU的百分比
99.9%id【idolt】— 空闲CPU百分比
0.0%wa【wait】— IO等待占用CPU的百分比
0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比
0.0%si【Software Interrupts】— 软中断占用CPU的百分比
第四行,内存状态
1012288k total, 234464k used, 777824k free, 24084k buffers【缓存的内存量】
第五行,swap交换分区信息
614396k total, 0k used, 614396k free, 72356k cached【缓冲的交换区总量】
备注:
可用内存=free + buffer + cached
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,
第四行中空闲内存总量(free)是内核还未纳入其管控范围的数量。
纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
第六行,空行
第七行以下:各进程(任务)的状态监控
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S —进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
top交互命令
h 显示帮助画面,给出一些简短的命令总结说明
k 终止一个进程。
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序
r 重新安排一个进程的优先级别
S 切换到累计模式
s 改变两次刷新之间的延迟时间(单位为s
f或者F 从当前显示中添加或者删除项目
o或者O 改变显示项目的顺序
l 切换显示平均负载和启动时间信息
m 切换显示内存信息
t 切换显示进程和CPU状态信息
c 切换显示命令名称和完整命令行
M 根据驻留内存大小进行排序
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间进行排序
W 将当前设置写入~/.toprc文件中
常用命令显示
显示 完整命令
top -c
设置信息更新次数
top -n 2 【表示更新两次后终止更新显示】
设置信息更新时间
top -d 3 【表示更新周期为3秒】
Reference:
https://www.cnblogs.com/yibeimingyue/p/11695058.html
作者:小a玖拾柒
出处:http://www.cnblogs.com/ftl1012/