Nvidia GPU 温度在 conky 中显示两次

Nvidia GPU 温度在 conky 中显示两次

我的问题是,在 Ubuntu 14.10 中旧的 ${nvidia temp} 代码不起作用,我改用这个代码:${execi 60 nvidia-settings -query GPUCoreTemp | perl -ne 'print $1 if /GPUCoreTemp.*?: (\d+)./;'} °C 但是这个代码显示温度两次,为什么会这样?

以下是截图

输出nvidia-settings -q gpucoretemp

slaci@slaci-comp:~$ nvidia-settings -q gpucoretemp

  Attribute 'GPUCoreTemp' (slaci-comp:0.0): 63.
    'GPUCoreTemp' is an integer attribute.
    'GPUCoreTemp' is a read-only attribute.
    'GPUCoreTemp' can use the following target types: X Screen, GPU.
  Attribute 'GPUCoreTemp' (slaci-comp:0[gpu:0]): 63.
    'GPUCoreTemp' is an integer attribute.
    'GPUCoreTemp' is a read-only attribute.
    'GPUCoreTemp' can use the following target types: X Screen, GPU.

答案1

在终端中尝试您的代码/shell 脚本,以查看其确切输出的内容。它可能提供双重结果,然后您可以在终端中对其进行故障排除。

nvidia-settings -query GPUCoreTemp | perl -ne 'print $1 if /GPUCoreTemp.*?: (\d+)./;'

刚刚看到你更新的 Q,nvidia-settings 的输出不知为何打印了两次温度。其中一个包含“gpu”,用 to 很容易抓取,grep然后只将一个温度输入到你的perl脚本中,所以这应该可以工作

nvidia-settings -query GPUCoreTemp| grep gpu | perl -ne 'print $1 if /GPUCoreTemp.*?: (\d+)./;'

如果把所有内容放到 conkyrc 中,它看起来应该是这样的:

${execi 60 nvidia-settings -query GPUCoreTemp| grep gpu | perl -ne 'print $1 if /GPUCoreTemp.*?: (\d+)./;'} °C

Conky 应该只打印 shell 返回的内容,并且exec在终端中测试代码比通过 Conky 运行更有启发性,可以看到 Conky 忽略的错误消息(我认为它只使用 stdout)。

我没有,nvidia-settings所以我无法测试它,但这里有一些替代脚本/命令应该返回 GPU 的温度;你必须查看输出以nvidia-settings确定要搜索和剪切的内容,如果它已更改并且这些不再起作用。

第一个论坛发现

  • nvidia-settings -q gpucoretemp -t
  • nvidia-smi -a | grep Gpu
  • nvclock -T

第二次论坛发现

  • nvidia-settings -q gpucoretemp |grep '):' | cut -d ' ' -f 6,6 | sed -e 's/.\{1\}$//'
  • nvidia-settings -t -q localhost:0/gpucoretemp

相关内容