zoukankan      html  css  js  c++  java
  • 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 手册来学习更多关于这些工具的使用技巧。

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

    玩得开心!

  • 相关阅读:
    deepinmind(转)
    不知道数据库中表的列类型的前提下,使用JDBC正确的取出数据(转)
    shell 监控局域网的主机是否up(转)
    IntelliJ Idea中一个编译报错引发的
    Unity插件之NGUI学习(8)—— Table和NGUI尺寸转换为世界坐标系尺寸
    使用php-fpm状态页观察当前的php-fpm状态
    PHP连接Access数据库代码
    HDU 4107 线段树
    Effective C++之‘宁以pass-by-reference-to-const替换pass-by-value’
    xdebug的安装和配置方法
  • 原文地址:https://www.cnblogs.com/linuxprobe-sarah/p/11014598.html
Copyright © 2011-2022 走看看