用于监视CPU、RAM和GPU使用情况的4个最佳命令行工具

如果你现在真的想做任何数据驱动的事情,一台强大的个人电脑是必备的。数据科学往往需要RAM,强化学习很消耗CPU,深度学习很消耗GPU。
当你处理那些资源匮乏的应用程序时,重要的是要知道你的电脑是否在有效地被使用。

  • 你的算法在CPU上是瓶颈吗?它能使用更多的内核吗?
  • 你是否有足够的RAM,或者你的内存使用是否溢出到交换中(磁盘内存,非常慢)?
  • 你的CPU或GPU运行过热了吗?Intel CPU和Nvidia GPU的运行温度达到一定温度后会受到速度限制。

所有这些问题以及更多的问题都是需要考虑的,因为它们会影响数据科学和人工智能项目上工作的速度。当你能够准确地看到程序使用了多少CPU、RAM和GPU时,使工作变得更高效会容易很多,因为我们清楚地知道瓶颈来自何处。

HTOP — CPU, RAM

在这里插入图片描述

下面是用于监视CPU、RAM和GPU使用情况的4个最佳命令行工具的列表和展示。你可以将它们与进程并行使用,以查看哪些资源正在消耗,或可以优化的(或者需要升级PC!)!
HTOP是一个交互式的、基于命令行的系统监视器,用于查看PC上正在运行的进程。可以将其视为系统监视器GUI!

在HTOP输出的最顶端,将看到每个CPU核心的使用率,以及RAM和交换内存的总使用率。这对于查看程序是否使用了所有内核以及使用了多少内核非常有用。你也可以看到是否达到了内存使用极限。

下面,HTOP展示每个运行进程的CPU、RAM和交换内存使用情况。它还显示用于启动进程的命令。如果一个进程有多个线程,那么这些线程的RAM使用率被分组在一起,而CPU使用率是基于每个线程计算的,就像上图中使用python3 main.py一样。

使用简单的apt命令即可安装htop
sudo apt install htop
使用时只需输入htop

Glances — CPU, RAM, Disk I/O

在这里插入图片描述
Glances是一个免费软件,用python开发,可以用来监视系统的总CPU、RAM和磁盘I/O。
和HTOP一样,将看到系统中每个进程的CPU和RAM总使用量。使用glances的好处是:

  • 可以看到许多硬盘/磁盘信息:
  • 每个进程运行在哪个磁盘上(最左边)
  • 有关每个磁盘的总容量和使用情况的信息(最左边)
  • 每秒读取和写入磁盘的次数(字节)。这非常适合检查磁盘速度是否是瓶颈,因为HDD和SSD具有最大的读/写速度。
  • 更详细的RAM统计信息,包括缓冲区和缓存。

此外,统计信息可以自动写入磁盘或发送到远程服务器。

可以使用简单的apt命令安装glances
sudo apt install glances
并通过在命令行中输入glances并enter来运行它!

Sensors — CPU (with temps)

到目前为止,HTOP和glances能够让我们深入了解CPU使用情况、RAM和磁盘I/O,这些对于发现任何瓶颈和提高代码效率都很重要。

但是硬件温度检测呢?
像英特尔这样的CPU制造商在其处理器中内置了一个安全功能。如果CPU温度超过某个限制,它的速度会受到限制,以避免过热。

这会扼杀程序的速度!我们可以看看HTOP,看到100%的CPU使用率,并且认为一切都很好。同时,我们的CPU速度正在被限制,更不用说组件本身的物理损坏了。
要监控CPU的温度,可以使用一个称为Sensors的工具。

在第一次安装时,传感器将检测每个相关设备(处理器、风扇等),并准备测量温度。一旦运行它,传感器应用程序就能够测量CPU的每个核心的温度以及所有风扇的速度。查看结果如下图。
在这里插入图片描述

可以使用简单的apt命令安装传感器:
sudo apt-get install lm-sensors
然后像这样检测所有设备:
sudo sensors-detect
最后运行传感器来监视你的CPU温度!
watch sensors

Nvidia SMI — GPU

最后,我们监测GPU!
与CPU类似,在GPU上要测量的最重要的事情是使用和温度。幸运的是,我们可以使用一个工具来获取这两个测量值。

Nvidia有自己的工具来测量其GPU的使用和温度,称为Nvidia SMI;SMI代表系统管理接口。Nvidia SMI工具在Linux上附带Nvidia GPU显示驱动程序,因此一旦您正确安装了GPU,就可以开始使用它。

要运行它,只需输入watch nvidia-smi或者watch -n 10 nvidia-smi(-n 10表示查看间隔时间,可自定义)并Enter。输出示例如下图所示:
在这里插入图片描述
Nvidia SMI为我们提供了许多有用的信息:

  • GPU内存使用量(MB)
  • GPU用电量(瓦)
  • GPU温度(摄氏度)
  • GPU风扇转速百分比

除了这些硬件统计数据,我们还得到了使用GPU的每个进程的列表、它们各自的内存使用情况,以及类型:C表示计算,G表示图形(显示)。

原文
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机内存、主机内存、CPU内存和GPU内存是计算机系统中的四种不同类型的内存。 计算机内存是指计算机系统中用于存储数据和程序的临时存储器。计算机内存可以分为主机内存和显存两种类型。主机内存,也称为系统内存或RAM(Random Access Memory),是计算机系统中用于存储正在运行的应用程序、操作系统和其他系统数据的临时存储器。显存,也称为GPU内存,是专门用于存储图形和视频数据的内存,它通常被显卡使用CPU内存,也称为高速缓存(Cache),是一种用于存储CPU指令和数据的高速缓存器。CPU内存是为了解决CPU和主机内存之间速度不匹配问题而设计的,它的访问速度比主机内存更快,但容量更小。CPU内存通常是内置在CPU芯片中的,可以分为多级缓存,如L1、L2、L3等级别。 GPU内存,也称为显存或图形内存,是专门用于存储图形和视频数据的内存。与主机内存不同,GPU内存是专门为图形和视频处理而设计的,它具有高带宽和低延迟的特点,可以提供更高的图形和视频处理性能。GPU内存通常是内置在显卡中的,可以通过显卡驱动程序和图形API进行访问。 总的来说,计算机内存、主机内存、CPU内存和GPU内存的区别在于它们的作用和实现方式不同。计算机内存用于存储数据和程序,而主机内存和GPU内存则分别用于存储计算机系统中的数据和图形/视频数据。CPU内存则是为了加速CPU指令和数据的访问而设计的高速缓存。它们的实现方式也不同,主机内存和GPU内存通常是通过DRAM技术实现的,而CPU内存和GPU内存则是内置在CPU芯片和显卡中的高速缓存器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值