#contents http://kaworu.jpn.org/kaworu/2008-10-24-1.php bsdmon http://www.usamimi.info/~sakura/cgi-bin/blog/article.php?id=164 http://www.minihowto.eu/freebsd-9-0-cpu-temperature-step-by-step 長い間、mbmonを使って温度を取っていたのですが ここ最近のMBではうまく温度が取れなくて、諦めていました。 しかし、以下のような方法を発見したのでメモします。 http://gihyo.jp/admin/clip/01/fdt/200812/12 「FreeBSD Daily Topics」から引用 smb(4) - 古いPC向けのインターフェース。FreeBSD 3.0で登場 ipmi(4) - IPMIインターフェース。使うにはsysutils/ipmitoolも必要。FreeBSD 6.3で登場 coretemp(4) - Intel Coreダイ上デジタル温度センサインターフェース。FreeBSD 7.0で登場 k8temp(1) - Athlon 64/Opteronsダイ上温度センサユーティリティ。使うにはsysutils/k8tempをインストール 引用ここまで この中でお手軽だったのは「coretemp」の方法 kldload coretemp カーネルモジュールをロードして sysctl -a | grep temper sysctl -aで値を取ってこれます。 あとはこれをシェルスクリプトなどにして、グラフツールに取り込ませれば 温度の記録ができます。 ただしこの方法ではcore2系のCPUじゃないと駄目みたいですので その他はipmiを試してみる必要がありそうです。 coretemp がロードされてないと、こんな温度が出る g7# sysctl -a | grep temper hw.acpi.thermal.tz0.temperature: 8.3C g7# g7# g7# g7# kldload coretemp g7# sysctl -a | grep temper hw.acpi.thermal.tz0.temperature: 8.3C dev.cpu.0.temperature: 33.0C dev.cpu.1.temperature: 36.0C g7# g7# g7# http://www.levelzero.jp/modules/unix/?FreeBSD%2Fkernel%20KLD%E3%81%A8%E5%86%8D%E6%A7%8B%E7%AF%89 ***/boot/loader.conf を用いる [#b37cada5] 既に必要なファイルが分かっている場合は、ブート時のカーネルを読み込む際に追加しておくことが出来ます。 例えば、GEOM_MIRRORの機能を追加しておくならば、geom_mirror.koですので、'geom_mirror_load="YES"'と記述しておきます。 拡張子koを取り除いたファイル名に続けて、 [ファイル名]_load="YES" coretemp_load="YES" http://www.levelzero.jp/modules/unix/?FreeBSD%2Fkernel%20KLD%E3%81%A8%E5%86%8D%E6%A7%8B%E7%AF%89 昔は取れていたのですが、いつの間にか取れなくなっていたmbmon。別に取れなくても困らないのですが、一応調べてみた。何も手を加えないとこんな感じ。 # mbmon ioctl(smb0:open): No such file or directory No Hardware Monitor found!! InitMBInfo: Bad file descriptor チップセットは対応しているようなので多分モジュールが読み込まれていないんだろうと、以下を実行してみる。 # kldload smb.ko # kldload ichsmb.ko で、mbmonを実行してみる。 # mbmon Temp.= 27.2, 35.0, 33.5; Rot.= 0, 865, 0 Vcore = 1.50, 1.46; Volt. = 3.34, 5.07, 12.09, 0.00, 0.00 おー、取れてる取れてる。 次回起動時には自動でモジュールをロードするために、loader.confに以下を記述。 smb_load="YES" ichsmb_load="YES"