CPU温度をモニタリングすることは、パソコンのパフォーマンスや耐久性にとって非常に重要です。この記事では、PowerShellを用いたCPU温度モニタリングの基本から応用までを解説します。初心者向けにもわかりやすく、コードの日本語解説と補足事項も含めています。
目次
なぜCPU温度モニタリングが重要なのか
CPUはパソコンの”脳”とも言える部分であり、過度な熱はパフォーマンス低下や故障の原因となります。したがって、温度を常に監視することで、未然に問題を防ぐことが可能です。
故障の予防
高温は故障の直接的な原因となります。特に夏場や密閉した場所での使用は注意が必要です。
パフォーマンス向上
温度が一定範囲内に収まると、CPUは最大パフォーマンスで動作できます。これが重要な処理をする際には特に重要です。
PowerShellでのCPU温度モニタリングの基本
基本的なコード例を以下に示します。このコードは、WMI(Windows Management Instrumentation)を用いてCPU温度を取得します。
# WMIから「MSAcpi_ThermalZoneTemperature」を参照
$ThermalInfo = Get-WmiObject -Query "SELECT * FROM MSAcpi_ThermalZoneTemperature" -Namespace "root\WMI"
# 温度をケルビンから摂氏に変換
$Celsius = ($ThermalInfo.CurrentTemperature - 2732) / 10
# 結果を表示
Write-Host "CPU温度は${Celsius}℃です。"
コード解説
Get-WmiObject
:WMIオブジェクトを取得するコマンド-Query
:SQL風のクエリで指定されたWMIクラスを検索-Namespace
:WMI名前空間を指定CurrentTemperature
:現在の温度情報(ケルビンで取得)
補足事項としての注意点
WMIによる取得はWindows環境専用です。また、一部のマザーボードやCPUではこの方法が利用できない場合もあります。
応用例
以下のコードは、指定した時間間隔でCPU温度をログとして保存する例です。
# 無限ループで実行
while ($true) {
$ThermalInfo = Get-WmiObject -Query "SELECT * FROM MSAcpi_ThermalZoneTemperature" -Namespace "root\WMI"
$Celsius = ($ThermalInfo.CurrentTemperature - 2732) / 10
$time = Get-Date
Add-Content -Path "C:\path\to\your\log.txt" -Value "$time, $Celsius"
Start-Sleep -Seconds 60 # 60秒待機
}
このコードを用いることで、時間と温度のログがlog.txt
に保存されます。
まとめ
CPU温度のモニタリングは、システムの安全性とパフォーマンスに直接関わる重要な作業です。PowerShellを用いることで、簡単にこの作業を自動化することが可能です。基本的なコードから応用まで、この記事で解説した方法を使えば、初心者でも簡単にCPU温度を監視することができます。
コメント