稼働率をパーセンテージで表示するだけでなく、視覚的にバーグラフ表示してます。
ただ1%でバー一本なので、解像度によってはバー長過ぎ問題になるかもなので、2%で1本にするとか適宜改造してもらえればと思います。
昔は、GET-WMIOBJECTコマンドレットを使っていましたが、今やこれは非推奨になってしまったので、新しいGET-CIMINSTANCEコマンドレットを使っています。
windows専用の5.xxでも、マルチプラットホームのpowerShell 7.xxでも両方で動かす場合は、文字コードを必ずUTF8 with BOMにして欲しいです。
日本語のメッセージを使っているので、文字コードを間違うとエラーになっちゃうんですよね。
あと管理者モードで動かして欲しいです。
#CPU情報の表示
function CPU() {
$CPU = Get-CimInstance -Class Win32_PerfFormattedData_PerfOS_Processor;
#$SPEED = Get-CimInstance -Class Win32_Processor;
Write-Output ("---CPU利用率---");
$__N="[CPU] ";
$CPU|`
SORT {if($_.NAME -eq "_Total"){$_.NAME}else{[int]$_.NAME}} |`
%{$__P = " : " + $_.PercentProcessorTime.ToString("000") + "%";
if($_.Name -eq "_Total"){
Write-Output ("****************************************");
Write-Output ($__N+"**総力"+$__P+" "+(dispProgress $_.PercentProcessorTime 1));
Write-Output ("****************************************");
}else{
Write-Output ($__N + ([int]$_.Name+1).ToString("00") + "号機"+$__P+" "+(dispProgress $_.PercentProcessorTime 1));
}
};
}
#進捗率をバーグラフにする($ratioでバー1本)
function dispProgress($value=0, $ratio =1) {
$dispRes = New-Object System.Text.StringBuilder # StringBuilderクラスのインスタンスを作成
for($i=0;$i -lt $value;$i+=$ratio) { # -ltに修正
$dispRes.Append("|") | Out-Null # Appendメソッドで文字列を追加
}
return $dispRes.ToString() # ToStringメソッドで文字列に変換して返す
}
ROG FLOW Z13で動かすと、驚異の(論理)CPUコアが20基!!
ROG FLOW Z13で動かすと、論理コアが驚異の20基になるので、10年以上に渡って「最高が論理8基が最高にして究極なり!!」の状態で来ていた私にとっては、ちょっと衝撃が大きい!!↑ちなみに、ROG FLOW Z13ですが、(ROG専用の設定アプリで)サイレントモードにして運用してるので、Surface Go2と同等の完全無音サイレントです。
冷却ファン全然回さなくとも、液体金属(!!)と、ベイパーチェンバーによる放熱のみで全然間に合う、ROGテクノロジーには脱帽です...