是否有终端命令以简单的方式在单个屏幕中显示使用的内存、温度度和 GPU 使用的摘要?
我想在终端中以使用内存(而不是交换等)、GPU 使用(百分比)和温度度的摘要方式向我提供信息 - CPU 有多热?
现在,我必须使用三个不同的终端命令:
watch free -m # For Memory use
watch sensors # For Temperature
watch ndivia-smi # For GPU use
有没有办法在一个屏幕上显示这些信息?这些命令会产生很多人可能不需要的信息。
第一行可能显示内存使用情况。第二行可能显示 GPU 使用情况。第三行可能显示温度。
我想从free -m
“可用”。例如,我想从nvidia-smi
“Volatile GPU-Util”和sensors
所有温度百分比中显示它们的限制(从那个到那个)
Available memory 5500000
Volatile GPU-Util 20%
CPUtemp1 40oC
Fantemp1 41oC
FanTemp2 42oC
etc...
那可能吗?
示例输出:
free -m
输出
$ free -m
total used free shared buff/cache available
Mem: 7815 1938 3548 188 2328 5391
Swap: 2047 57 1990
nvidia-smi
输出
$ nvidia-smi
Fri Jul 31 18:35:45 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.138 Driver Version: 390.138 |
|-------------------------------+----------------------+----------------------+
| 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 GT 1030 Off | 00000000:01:00.0 On | N/A |
| 32% 44C P8 N/A / 30W | 220MiB / 1998MiB | 1% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1770 G /usr/lib/xorg/Xorg 82MiB |
| 0 8182 G /usr/bin/krunner 6MiB |
| 0 8184 G /usr/bin/plasmashell 55MiB |
| 0 26370 G ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files 74MiB |
+-----------------------------------------------------------------------------+
sensors
输出
$ sensors
it8620-isa-0a30
Adapter: ISA adapter
in0: +0.01 V (min = +0.00 V, max = +3.06 V) ALARM
in1: +2.05 V (min = +0.00 V, max = +3.06 V)
in2: +2.00 V (min = +0.00 V, max = +3.06 V)
in3: +2.02 V (min = +0.00 V, max = +3.06 V)
in4: +0.01 V (min = +0.00 V, max = +3.06 V)
in5: +1.74 V (min = +0.00 V, max = +3.06 V)
in6: +1.50 V (min = +0.00 V, max = +3.06 V)
3VSB: +3.38 V (min = +0.00 V, max = +6.12 V)
Vbat: +3.05 V
fan1: 2986 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
temp1: +47.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: -128.0°C (low = +127.0°C, high = +127.0°C) sensor = disabled
temp3: +35.0°C (low = +127.0°C, high = +127.0°C) sensor = Intel PECI
temp4: +45.0°C
temp5: +42.0°C
temp6: +45.0°C
intrusion0: ALARM
acpitz-virtual-0
Adapter: Virtual device
temp1: +27.8°C (crit = +97.0°C)
temp2: +29.8°C (crit = +97.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +45.0°C (high = +86.0°C, crit = +92.0°C)
Core 0: +43.0°C (high = +86.0°C, crit = +92.0°C)
Core 1: +44.0°C (high = +86.0°C, crit = +92.0°C)
Core 2: +42.0°C (high = +86.0°C, crit = +92.0°C)
Core 3: +40.0°C (high = +86.0°C, crit = +92.0°C)
您可以使用各种命令行实用程序轻松地从长输出中提取感兴趣的特定部分,例如
awk
.您有兴趣仅从
free -m
. 请注意,此数字显示为输出的第 2 行中的第 7 个字符串free -m
。所以你可以使用下面的命令来提取这个数字要“
watch
”输出,您可以使用以下命令同样,您似乎想从
nvidia-smi
命令输出的第 9 行中提取第二个字符串(32%
根据您添加到问题中的输出)。所以你可以通过以下命令提取这个值它
watch
使用从
sensors
我相信您正在尝试从第 15 行到第 20 行(报告temp1
到temp6
)中提取第二个字符串的输出。所以你可以使用并
watch
对
watch
所有三个同时,您可以使用以下命令