LM センサーはどのようにして CPU ワット数を取得するのでしょうか?

LM センサーはどのようにして CPU ワット数を取得するのでしょうか?

私は「生の」ハードウェア ステータスを読み取りたいと思っていましたが、これまでのところ、私のシステムでは、 を通じてそのステータスにアクセスできることがわかりました/sys/class/hwmon。次に、見つけた数値を から取得した出力と比較していますsensors

たとえば、vim /sys/class/hwmon/hwmon0/temp1_inputvim を実行すると、数字だけが35000書かれ​​たファイルが表示されます。これを実行するsensorsと、出力に という行が見つかりますCPU Temperature: +35.0°C (high = +60.0°C, crit = +95.0°C)

sensorsこの方法を使用すると、 を除くすべてのデータの出所を特定できましたpower1: x W (crit = y W)。この行のコンテキストは次のとおりです。

fam15h_power-pci-00c4
Adapter: PCI adapter
power1:       XX.XX W  (crit = 125.02 W)

データがどこにあるかを見つけてfam15h_power開くと、そこにデータが書かれpower1_critていました125015625(マイクロワット単位の臨界ワット数のようです)。しかし、 を開くたびにpower1_input、得られる数値は XX.XX W の出力とは何の関係もありませんsensors。たとえば、 を実行してsensorsを得ましたpower1: 52.74 W (crit = 125.02 W)が、ファイルには とpower1_input表示されています87615291。これらの数値の間に見つかった唯一の関係は、両方とも一緒に上がったり下がったりすることです。

では、 のデータが のデータsensorsとあまり関係がないように見えるのはなぜでしょうかhwmon/? (ワット消費量のみ)sensorsワット数を計算または取得するにはどうすればよいでしょうか? (そのワット数は CPU からのものでしょうか?)

答え1

オームの法則

オームの法則
E = 私 * R E = 電圧 (ボルト V) E = P / 私
私 = E / R I = 電流 (アンペア A) 私 = P / E
R = E / 私 R = 抵抗(オームΩ)
P = 電力 (ワット W) P = E * 私

lmセンサーCPU の電圧と使用電流を監視できるため、ワット = 電圧 * 電流を計算することで電力 (ワット単位) を導き出すことができます。

関連情報