CPU、GPU使用情况查看以及各个参数含义

本文介绍在Linux系统中如何使用top和nvidia-smi命令查看CPU和GPU的使用情况,包括实时动态监控和参数解释,适用于Ubuntu16.04。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Linux下查看CPU和GPU使用情况

本文记录了如何在Linux系统(以Ubuntu 16.04为例)查看电脑的GPU和CPU使用情况,包括命令和查询得到的界面。更新于2018.10.18。

CPU使用情况查看

动态查看

打开终端,输入:

top

即可看到实时的CPU使用情况,如下图所示:

在这里插入图片描述

按Ctrl+C退出查看。

查看版本

top -h

即可看到当前procps-ng的版本。

GPU使用情况查看

静态查看
在终端输入如下命令即可实现GPU使用情况的静态查看:

invidia-smi

效果如下图所示:

在这里插入图片描述

动态查看

在终端输入:

watch -n 0.5 nvidia-smi

即可实现动态查看。-n后面的数字是更新的时间间隔。

在这里插入图片描述

按Ctrl+C退出。

2.GPU各个参数解释

nvidia-smi是用来查看GPU使用情况的。我常用这个命令判断哪几块GPU空闲,但是最近的GPU使用状态让我很困惑,于是把nvidia-smi命令显示的GPU使用表中各个内容的具体含义解释一下。

这里写图片描述

这是服务器上特斯拉K80的信息。
上面的表格中:
第一栏的Fan:N/A是风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如我们实验室的服务器是常年放在空调房间里的)。
第二栏的Temp:是温度,单位摄氏度。
第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
第五栏的Bus-Id是涉及GPU总线的东西,domain:bus:device.function
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。
第五第六栏下方的Memory Usage是显存使用率。
第七栏是浮动的GPU利用率。
第八栏上方是关于ECC的东西。
第八栏下方Compute M是计算模式。
下面一张表示每个进程占用的显存使用率。

显存占用和GPU占用是两个不一样的东西,显卡是由GPU和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。我跑caffe代码的时候显存占得少,GPU占得多,师弟跑TensorFlow代码的时候,显存占得多,GPU占得少。

### Linux 中 CPUGPU 相关命令 #### 查看 CPU 信息 在 Linux 系统中,`lscpu` 是查看 CPU 配置详情的常用工具。该命令提供了关于处理器架构、核心数、线程数以及频率等重要参数的信息。 ```bash lscpu ``` 对于更详细的硬件信息,还可以使用 `dmidecode` 工具来获取主板上的 CPU 插槽和其他物理属性[^1]。 #### 实时监控 CPU 使用情况 要实现实时监测 CPU 资源消耗状况,推荐采用 `top` 或者更为直观易读的 `htop` 命令: ```bash sudo apt install htop # 如果尚未安装,则先执行此命令进行安装 htop # 启动交互式的进程监视器 ``` 这些工具不仅能够显示整体 CPU 利用率,还能按进程展示具体占用比例,并支持排序功能以便快速定位高负载来源。 #### 显示 GPU 设备列表及其基本信息 针对 NVIDIA GPU 用户来说,可以通过运行如下指令获得当前系统内所有可用图形处理单元的状态概览: ```bash nvidia-smi -L # 展现每一块显卡的身份标识符(ID)、名称及连接位置 ``` 而对于 AMD Radeon 系列产品而言,相应的查询方式为调用 `lspci` 结合 grep 过滤关键字 "VGA" 来实现相同目的: ```bash lspci | grep VGA # 找到并打印出视频适配器的相关条目 ``` #### 动态跟踪 GPU 性能指标变化趋势 为了达到持续观察的目的,可借助于周期性刷新机制下的 `watch` 加上特定 API 查询语句组合而成的一套方案来进行高效便捷的操作;特别是当涉及到多张不同品牌型号混合部署场景下尤为适用。 对于 NVIDIA 平台: ```bash watch -n 3 nvidia-smi # 每隔三秒更新一次有关 GPU 温度、功耗、利用率等方面的统计数值 ``` 至于 AMD 方面则有专门设计用于此类用途的应用程序如 `radeontop` 可供选用: ```bash sudo apt-get install radeontop # 安装适用于 APU/GPU性能分析仪 radeontop # 开始滚动播放各项活动数据流 ``` #### 综合记录系统资源利用日志 最后,在某些情况下可能还需要定期保存历史快照作为后续诊断依据或是报表生成的基础素材之一。此时便可以编写简单的 shell script 将上述提到过的各个部分集成起来形成一套完整的解决方案。 例如下面这段 bash 脚本会每隔一分钟自动收集一次包含 CPU、内存和首块 GPU 在内的综合报告并追加写入指定文件当中去: ```bash #!/bin/bash while true; do echo "$(date '+%Y-%m-%d %H:%M:%S') - \ CPU 使用率:$(mpstat 1 1 | awk '/Average:/ {print $NF}')% |\ 内存使用情况:已用 $(free -h --si | awk 'NR==2{printf "%.0fMB", $3*1024}' ) / 总计 $(free -h --si | awk 'NR==2{printf "%sB\n", $2}') ($(free -m | awk 'NR==2{printf "%.2f%%\n", ($3/$2)*100}')) |\ GPU0 使用率:$(nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits)% 内存:$(nvidia-smi --query-gpu=memory.used,memory.total --format=csv,noheader,nounits)" >> ~/gpu_monitor.log; sleep 60; done & ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值