问题描述

在终端中使用top命令列出进程,按CPU使用情况排序(您可以将其更改为按其他参数排序)

GPU有同等效力吗?

最佳解决方法

对于Nvidia GPU,有一个工具nvidia-smi可以显示内存使用情况,GPU利用率和GPU温度。

对于Intel GPU,您可以使用intel-gpu-tools。

AMD有两种选择

fglrx(闭源驱动程序):

aticonfig --odgc --odgt

对于mesa(开源驱动程序),您可以使用RadeonTop。

次佳解决方法

Nvidia:要不断更新nvidia-smi的输出,可以使用nvidia-smi --loop=1(刷新间隔1秒)或nvidia-smi --loop-ms=1000(刷新间隔1000毫秒)。

-l SEC, --loop=SEC

Continuously report query data at the specified interval, rather than

the default of just once. The application will sleep in-between

queries. Note that on Linux ECC error or XID error events will print

out during the sleep period if the -x flag was not specified. Pressing

Ctrl+C at any time will abort the loop, which will otherwise run indef‐

initely. If no argument is specified for the -l form a default inter‐

val of 5 seconds is used.

-lms ms, --loop-ms=ms

Same as -l,--loop but in milliseconds.

供参考:

第三种解决方法

您可以使用gpustat,它是一个简单的命令行脚本(nvidia-smi的包装器),用于查询和监控GPU状态:

第四种方法

您可以将监控程序glances与其GPU monitoring plug-in一起使用:

开源

安装:sudo apt-get install -y python-pip; sudo pip install glances[gpu]

发布:sudo glances

它还监视CPU,磁盘IO,磁盘空间,网络和其他一些事情:

第五种方法

对于英特尔:

安装intel-gpu-tools(它们可能已安装)

sudo apt-get install intel-gpu-tools

启动top like实用程序

sudo intel_gpu_top

检查您的统计数据,然后退出Ctrl + C

这就是你得到的:

谢谢@Mitch! 🙂

第六种方法

我使用以下命令:

nvidia-smi -l 2

它每2秒给我一次更新。

要么 :

watch -n0.1 "nvidia-settings -q GPUUtilization -q useddedicatedgpumemory"

在AMD上,使用:

aticonfig --odgc --odgt

第七种方法

Conky

我喜欢使用conky作为CPU和GPU的real-time监视器。

英特尔i7-6700HQ iGPU HD 530

在这种情况下,我使用集成GPU而不是nVidia GTX 970M启动:

conky代码根据使用prime-select intel或prime-select nvidia启动进行调整:

nVidia GPU GTX 970M

在这个例子中,我使用nVidia GTX 970M而不是集成GPU启动:

坚定的代码

最近将修改后的代码修改为GPU的auto-sense。现在,重启到不同的GPU时不必手动修改:

#------------+

# Intel iGPU |

#------------+

${color orange}${hr 1}${if_existing /sys/class/drm/card0/gt_cur_freq_mhz}

${color2}${voffset 5}Intel® Skylake GT2 HD 530 iGPU @${alignr}${color green}

${execpi .001 (cat /sys/class/drm/card0/gt_cur_freq_mhz)} MHz

${color}${goto 13}Min. Freq:${goto 120}${color green}${execpi .001 (cat /sys/class/drm/card0/gt_min_freq_mhz)} MHz${color}${goto 210}Max. Freq:${alignr}${color green}${execpi .001 (cat /sys/class/drm/card0/gt_max_freq_mhz)} MHz

${color orange}${hr 1}${else}

#------------+

# Nvidia GPU |

#------------+

#${color orange}${hr 1}${if_match "${lsmod | grep nvidia_uvm}">""}

${color2}${voffset 5}${execpi .001 (nvidia-smi --query-gpu=gpu_name --format=csv,noheader)} ${color1}@ ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.sm --format=csv,noheader)} ${alignr}${color1}Temp: ${color green}${execpi .001 (nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader)}°C

${color1}${voffset 5}Ver: ${color green}${execpi .001 (nvidia-smi --query-gpu=driver_version --format=csv,noheader)} ${color1} P-State: ${color green}${execpi .001 (nvidia-smi --query-gpu=pstate --format=csv,noheader)} ${alignr}${color1}BIOS: ${color green}${execpi .001 (nvidia-smi --query-gpu=vbios_version --format=csv,noheader)}

${color1}${voffset 5}GPU:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader)} ${color1}Ram:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.memory --format=csv,noheader)} ${color1}Pwr:${color green}${execpi .001 (nvidia-smi --query-gpu=power.draw --format=csv,noheader)} ${alignr}${color1}Freq: ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.mem --format=csv,noheader)}

${color orange}${hr 1}${endif}

参考资料

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐