Linux 中CPU 和 GPU 的行为监控

由于 Steam(包括 Steam Play,即 Proton)和一些其他的发展,GNU/Linux 正在成为越来越多计算机用户的日常游戏平台的选择。也有相当一部分用户在遇到像视频编辑或图形设计等(Kdenlive 和 Blender 是这类应用程序中很好的例子)资源消耗型计算任务时,也会使用 GNU/Linux。

不管你是否是这些用户中的一员或其他用户,你也一定想知道你的电脑 CPU 和 GPU 能有多热(如果你想要超频的话更会如此)。如果是这样,那么继续读下去。我们会介绍两个非常简单的命令来监控 CPU 和 GPU 温度。

我的装置包括一台 Slimbook Kymera 和两台显示器(一台 TV 和一台 PC 监视器),使得我可以用一台来玩游戏,另一台来留意监控温度。另外,因为我使用 Zorin OS,我会将关注点放在 Ubuntu 和 Ubuntu 的衍生发行版上。

为了监控 CPU 和 GPU 的行为,我们将利用实用的 watch 命令在每几秒钟之后动态地得到读数。

在 Linux 中监控 CPU 温度

对于 CPU 温度,我们将结合使用 watch 与 sensors 命令。一篇关于此工具的图形用户界面版本的有趣文章已经在 It’s FOSS 中介绍过了。然而,我们将在此处使用命令行版本:

watch -n 2 sensors

watch 保证了读数会在每 2 秒钟更新一次(当然,这个周期值能够根据你的需要去更改):

Every 2,0s: sensors

iwlwifi-virtual-0
Adapter: Virtual device
temp1: +39.0°C

acpitz-virtual-0
Adapter: Virtual device
temp1: +27.8°C (crit = +119.0°C)
temp2: +29.8°C (crit = +119.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +37.0°C (high = +82.0°C, crit = +100.0°C)
Core 0: +35.0°C (high = +82.0°C, crit = +100.0°C)
Core 1: +35.0°C (high = +82.0°C, crit = +100.0°C)
Core 2: +33.0°C (high = +82.0°C, crit = +100.0°C)
Core 3: +36.0°C (high = +82.0°C, crit = +100.0°C)
Core 4: +37.0°C (high = +82.0°C, crit = +100.0°C)
Core 5: +35.0°C (high = +82.0°C, crit = +100.0°C)

除此之外,我们还能得到如下信息:

  • 我们有 5 个核心正在被使用(并且当前的最高温度为 37.0℃)。
  • 温度超过 82.0℃ 会被认为是过热。
  • 超过 100.0℃ 的温度会被认为是超过临界值。

根据以上的温度值我们可以得出结论,我的电脑目前的工作负载非常小。

在 Linux 中监控 GPU 温度

现在让我们来看看显卡。我从来没使用过 AMD 的显卡,因此我会将重点放在 Nvidia 的显卡上。我们需要做的第一件事是从 Ubuntu 的附加驱动 中下载合适的最新驱动。

在 Ubuntu(Zorin 或 Linux Mint 也是相同的)中,进入“软件和更新 > 附加驱动”选项,选择最新的可用驱动。另外,你可以添加或启用显示卡的官方 ppa(通过命令行或通过“软件和更新 > 其他软件”来实现)。安装驱动程序后,你将可以使用 “Nvidia X Server” 的 GUI 程序以及命令行工具 nvidia-smi(Nvidia 系统管理界面)。因此我们将使用 watch 和 nvidia-smi:

watch -n 2 nvidia-smi

与 CPU 的情况一样,我们会在每两秒得到一次更新的读数:

Every 2,0s: nvidia-smi

Fri Apr 19 20:45:30 2019
+-----------------------------------------------------------------------------+
| Nvidia-SMI 418.56 Driver Version: 418.56 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 106... Off | 00000000:01:00.0 On | N/A |
| 0% 54C P8 10W / 120W | 433MiB / 6077MiB | 4% Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1557 G /usr/lib/xorg/Xorg 190MiB |
| 0 1820 G /usr/bin/gnome-shell 174MiB |
| 0 7820 G ...equest-channel-token=303407235874180773 65MiB |
+-----------------------------------------------------------------------------+

从这个表格中我们得到了关于显示卡的如下信息:

  • 它正在使用版本号为 418.56 的开源驱动。
  • 显示卡的当前温度为 54.0℃,并且风扇的使用量为 0%。
  • 电量的消耗非常低:仅仅 10W。
  • 总量为 6GB 的 vram(视频随机存取存储器),只使用了 433MB。
  • vram 正在被 3 个进程使用,他们的 ID 分别为 1557、1820 和 7820。

大部分这些事实或数值都清晰地表明,我们没有在玩任何消耗系统资源的游戏或处理大负载的任务。当我们开始玩游戏、处理视频或其他类似任务时,这些值就会开始上升。

结论

即便我们有 GUI 工具,但我还是发现这两个命令对于实时监控硬件非常的顺手。

你将如何去使用它们呢?你可以通过阅读他们的 man 手册来学习更多关于这些工具的使用技巧。

你有其他偏爱的工具吗?在评论里分享给我们吧 ;)。

玩得开心!


via: https://itsfoss.com/monitor-cpu-gpu-temp-linux/

作者:Alejandro Egea-Abellán 选题:lujun9972 译者:cycoe 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

本文地址:https://www.linuxprobe.com/?p=147162

<think>我们正在回答用户关于Linux系统下查看CPUGPU硬件配置的问题。根据引用[1][2][3],我们可以总结出以下方法: 查询CPU信息: 1. 使用`cat /proc/cpuinfo`命令:该文件包含了CPU的详细信息,如型号、核心数、频率等[^2]。 2. 使用`lscpu`命令:这是一个更友好的命令,可以显示CPU架构信息,包括线程数、核心数、套接字数等。 查询GPU信息: 1. 使用`lspci | grep -i vga`命令:可以列出系统中的显卡设备,但信息较为基础。 2. 对于NVIDIA显卡,使用`nvidia-smi`命令:可以详细显示GPU的状态、型号、显存使用情况、驱动版本等[^3]。 3. 使用`lshw`命令:需要root权限,可以显示详细的硬件信息,包括GPU。 另外,引用[2]提到可以使用`nvidia-smi -L`来列出GPU显卡信息(针对NVIDIA显卡)[^2]。 因此,我们可以整理出以下步骤: 步骤1:查看CPU信息 方法1:`cat /proc/cpuinfo` 方法2:`lscpu` 步骤2:查看GPU信息 方法1:使用`lspci`命令查看显卡设备 方法2:对于NVIDIA显卡,使用`nvidia-smi`(推荐)或`nvidia-smi -L`(仅列出显卡型号) 方法3:使用`lshw`命令(需要root权限) 注意:对于AMD显卡,可以使用`radeontop`等工具,但通常也可以通过`lspci`查看基本信息。 下面按照用户要求生成回答。</think>### Linux系统查看CPUGPU硬件配置指南 #### 一、CPU信息查询方法 1. **核心命令:`lscpu`** 显示CPU架构的完整信息,包括: - 处理器型号 - 核心数量(`Core(s) per socket`) - 线程数(`Thread(s) per core`) - 缓存大小(`L1d/L1i/L2/L3 cache`) - CPU频率(`CPU MHz`)[^1] 2. **详细参数:`cat /proc/cpuinfo`** 获取每颗CPU核心的详细信息: ```bash cat /proc/cpuinfo | grep -E "model name|cpu MHz|cache size|cores" ``` 输出示例: ``` model name : Intel(R) Xeon(R) Gold 6230 cpu MHz : 2100.000 cache size : 30976 KB cores : 20 ``` 3. **可视化工具:`hardinfo`** 图形化查看硬件信息(需安装): ```bash sudo apt install hardinfo && hardinfo ``` #### 二、GPU信息查询方法 1. **通用显卡检测:`lspci | grep -i vga`** 识别所有显卡设备: ```bash lspci -vnn | grep -i VGA -A 12 ``` 输出包含: - GPU型号(如NVIDIA GeForce RTX 3090) - PCIe总线位置 - 驱动版本[^3] 2. **NVIDIA显卡专用:`nvidia-smi`** 实时监控GPU状态(需安装驱动): ```bash nvidia-smi ``` ![nvidia-smi输出示例](https://miro.medium.com/max/1400/1*_qR6zT_5M0n0bqkZ1QdJZw.png) 显示: - GPU利用率(`Volatile GPU-Util`) - 显存占用(`Memory-Usage`) - 温度(`Temp`) - 驱动版本(`Driver Version`)[^2][^3] 3. **AMD显卡检测:`radeontop`** 安装后实时监控AMD GPU: ```bash sudo apt install radeontop && radeontop ``` #### 三、综合硬件检测工具 | 工具 | 功能 | 安装命令 | |---------------|--------------------------|----------------------------| | `dmidecode` | 获取主板/BIOS信息 | `sudo dmidecode -t system` | | `inxi` | 完整系统摘要 | `sudo apt install inxi && inxi -F` | | `hwinfo` | 深度硬件探测 | `sudo apt install hwinfo && hwinfo --short` | #### 四、关键概念解析 - **GPU利用率 vs 显存占用** - GPU利用率:计算核心的运算负载(类似CPU使用率) - 显存占用:显卡内存的数据存储量(类似RAM使用) 示例:深度学习训练可能显存占满但GPU利用率仅60%[^3] - **多GPU系统查询** 使用`nvidia-smi -L`列出所有NVIDIA GPU: ```bash $ nvidia-smi -L GPU 0: NVIDIA A100 (UUID: GPU-xxxxxx) GPU 1: NVIDIA RTX 6000 (UUID: GPU-yyyyyy) ``` --- ### 相关问题 1. 如何实时监控Linux系统的GPU温度? 2. `lscpu`输出中的"NUMA节点"是什么含义? 3. 为什么`nvidia-smi`显示的显存小于显卡标称值?[^3] 4. 如何在Linux下测试GPU的计算性能? 5. 服务器没有安装显卡驱动时如何获取GPU型号?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值