4

現在、私は大学のプロジェクト用に Linux の温度対応バージョンの作成に取り組んでいます。現在、プロセッサの温度を考慮してスケジューリングを実行できる温度対応スケジューラを作成する必要があります。プロセッサコアの温度を取得する一般的な方法はありますか、または coretemp ドライバーを何らかの方法で Linux カーネルと統合できますか (インターネットでその方法を見つけられませんでした)。

4

2 に答える 2

5

lm-sensors は、CPU 温度のためにカーネルによってエクスポートされたいくつかのデバイス ファイルを使用するだけです。これらのデバイス ファイルをカーネル内のバッキング変数として読み取るだけで、温度情報を取得できます。スケジューラに関しては、ゼロから作成するのではなく、カーネルの CFS 実装から開始し、あなたの場合はロード バランサ チェックを変更して温度を含めます (現在、1 つのコアからタスクを移動する計算コストであるメトリックを使用します)。キャッシュの問題などの点で別のものに...これを保持するかどうかはわかりません)。

于 2013-02-22T01:43:20.730 に答える
0

温度管理はとても難しいです。問題は、熱容量とコンダクタンスにあります。温度を読み取るのは非常に簡単です。どのように制御するかは、システム モデルによって異なります。カルマン フィルターまたは高次フィルターが役立ちます。あなたは知らない、

  1. 熱源。
  2. センサーからの距離。
  3. センサーの数。
  4. ファンのような要素を制御します。

本体のみを測定する場合CPU、ハード ドライブは 10 分前に過熱していた可能性がありますが、熱は現在 CPU に到達しているだけです。このインスタンスでのスロットリングはCPU役に立ちません。システムの適切な熱モデルを取得することによってのみ、熱を制御できます。でも、システムについて何も知らないって?スケジューラ自体がこれを行う方法がわかりません。

私は、オペレーターが冷凍庫からトラックにアイスクリームなどのパレットを積み込むモバイル冷凍庫アプリケーションに取り組んできました。センサーと制御要素の間の距離が非常に短いと、制御システムに混乱が生じる可能性があります。また、可能であれば、周囲温度を即座に読み取る必要があります。温度管理が多いです。距離が短いと、読み取りが 5 ~ 15 分遅れる可能性があります (つまり、1 cm の熱が伝わるのに 5 ~ 15 分かかります)。lag

あなたが提案していることの有用性がわかりません。PC でこれが必要な場合、ビデオ カード、ハード ドライブ、電源装置、サウンド カードなどは、CPU と同じくらいの熱を発生する可能性があります。PC を一般的にモデル化することはできません。Apple製品ならできるかもしれません。多くの成功を収めるとは思いませんが、挑戦することで多くのことを学ぶことができます!

于 2013-03-01T03:20:15.470 に答える