Linuxはなぜそんなに多くのファイルにCPU温度を保存するのですか?

Linuxはなぜそんなに多くのファイルにCPU温度を保存するのですか?

私は2つのCPUを持つラップトップ(ThinkPad)を持っています。現在、cat(1)を使用して、次のファイルからCPU温度を読み取ることができます。

cat /sys/class/thermal/thermal_zone0/temp
cat /sys/class/thermal/thermal_zone1/temp

cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input
cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input

cat /sys/devices/LNXSYSTM:00/LNXCPU:00/thermal_cooling/subsystem/thermal_zone1/temp
cat /sys/devices/LNXSYSTM:00/LNXCPU:01/thermal_cooling/subsystem/thermal_zone0/temp

私の質問は、なぜカーネルがこの情報をそんなに多くの異なる場所に保存するのか、そしてどちらがCPU温度を読むための「標準」ファイルなのかということです。

これはsystemd(私はArch Linuxを使用しています)のために起こりますか、それともSlackwareのようなシステムではないLinuxディストリビューションに異なるアプローチがありますか?

ベストアンサー1

実際、温度はそうではありません。保存済みどこかに。/sysメモリファイルシステム、 のファイルから/sys動的に計算された値を呼び出すカーネルのコードを読み込みます。

さまざまなディレクトリは、ハードウェアが温度を報告するさまざまな方法に対応しています。これらのファイルには、報告されるコンポーネントの温度を識別するtemp*_input関連IDがあります。temp*_label

以下の場所は、/sysディストリビューションではなくカーネルのバージョンによって異なります。これは、データを読み取るプログラムの作成者が/sys耐えなければならない困難です(はい)。

おすすめ記事