улучшить скрипт bash

У меня четырехъядерный рабочий стол, и я хотел знать среднюю температуру в соответствии с датчиками. поэтому я написал этот лайнер bash 1.

echo `sensors -A | awk {'print $3'} | sed 's/+\|(crit\|0:\|°C//g'` |  awk '{print ($1 + $2 + $3 + $4)/4}'

, но он не идеален, я уверен. например, если число ядер изменится, мой скрипт сломается или просто не будет таким точным. Как я могу написать скрипт, который смотрит на число или выходные значения, и настраивает количество ядер?

как в (псевдокод вперед):

echo `sensors -A | awk {'print $3'} | sed 's/+\|(crit\|0:\|°C//g'` |  awk '{print ($n + $n+1 <=($number of cores)) )/($number of cores)}'

Надеюсь, что читается человеком. Выход первой части - это что-то вроде:

$  echo `sensors -A | awk {'print $3'} | sed 's/+\|(crit\|0:\|°C//g'`
31.0 31.0 26.0 27.0

могу ли я получить некоторые подсказки по получению средней температуры процессора?

1
задан 9 April 2015 в 19:35

2 ответа

Использование режима «raw output» для sensors для упрощения сценариев:

-u    Raw output. This mode is suitable for debugging  and  for  post-
      processing  of  the  output  by  scripts. It is also useful when
      writing a configuration file because  it  shows  the  raw  input
      names which must be referenced in the configuration file.

Например:

$ sensors -Au
coretemp-isa-0000
Physical id 0:
  temp1_input: 63.000
  temp1_max: 85.000
  temp1_crit: 105.000
  temp1_crit_alarm: 0.000
Core 0:
  temp2_input: 51.000
  temp2_max: 85.000
  temp2_crit: 105.000
  temp2_crit_alarm: 0.000

Вооруженные такими красиво помеченными полями, можно создайте гораздо более простую команду awk:

sensors -Au | awk '/temp.*_input/{temp += $2; count += 1} END {print temp/count}'

По существу, для каждого поля temp.*_input добавьте температуру и увеличивайте счетчик, а затем в конце напечатайте общее количество, деленное на счет. [!d3 ]

7
ответ дан 23 May 2018 в 21:34

Вы можете получить количество процессоров, используя

grep -c ^processor /proc/cpuinfo
1
ответ дан 23 May 2018 в 21:34

Другие вопросы по тегам:

Похожие вопросы: