用于监视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表示图形(显示)。

原文
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页