web-dev-qa-db-fra.com

La température du GPU Nvidia est affichée deux fois dans la configuration

Mon problème est que, dans Ubuntu 14.10, l'ancien code $ {nvidia temp} ne fonctionne pas, j'utilise ce code à la place: ${execi 60 nvidia-settings -query GPUCoreTemp | Perl -ne 'print $1 if /GPUCoreTemp.*?: (\d+)./;'} °C Mais ce code indique la température deux fois, pourquoi cela pourrait-il être?

Voici une capture d'écran

La sortie de 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
Slaci

Essayez votre code/script shell dans un terminal pour voir exactement ce qu’il va générer. Il fournit probablement le double résultat, alors vous pouvez le résoudre dans un terminal.

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

Je viens de voir votre Q mis à jour, avec la sortie de nvidia-settings, il imprime la température deux fois pour une raison quelconque. L’un d’eux contient "gpu" qui est facile à saisir avec un grep pour ne diriger ensuite qu’un seul temp dans votre script Perl;

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

Et si tout est réuni dans le conkyrc, il devrait ressembler à ceci:

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

Conky ne doit imprimer que ce que Shell lui renvoie, et tester les codes exec dans un terminal est plus instructif que de passer par Conky, car il est possible de voir les messages d'erreur ignorés par Conky (je pense qu'il utilise uniquement stdout).

Je n'ai pas nvidia-settings donc je ne peux pas le tester, mais voici quelques scripts/commandes alternatifs qui devraient renvoyer le temp du GPU; vous devrez examiner le résultat de nvidia-settings pour déterminer les éléments à rechercher et à couper, s’ils sont modifiés et que ceux-ci ne fonctionnent plus.

De 1ère recherche de forum

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

De 2ème forum trouvé

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