そこで、PowerShellで「MEM」コマンドを作ってみました。
これは、MEMと入力する事で、全体容量、空き容量、使用中容量の3つの値を、小数点以下3位まで、ギガバイト単位で表示するものです。
ちなみに、PowerShell起動時のプロファイルに組み込みます。
function global:MEM() {
$all=(Get-WmiObject Win32_OperatingSystem | %{($_.TotalVisibleMemorySize)});
$free=(Get-WmiObject Win32_OperatingSystem | %{($_.FreePhysicalMemory)});
$use=$all-$free;
$all=[Math]::Round(($all/1024/1024),3,[MidpointRounding]::AwayFromZero);
$free=[Math]::Round(($free/1024/1024),3,[MidpointRounding]::AwayFromZero);
$use=[Math]::Round(($use/1024/1024),3,[MidpointRounding]::AwayFromZero);
Write-Host "---メインRAM ---";
Write-Host "ALL (GB)= " ($all).ToString();
Write-Host "FREE(GB)= " ($free).ToString();
Write-Host "USED(GB)= " ($use).ToString();
}
なんとWrite-Hostで日本語を表示しようとすると文字化けします。
スクリプトファイルそのものの文字コードが影響するもので、内部でいくら文字コードを変更しようとも太刀打ちできないようになっています。
PowerShellは、foreachによるループを%{ }と短く書けるのも良いところ。
↑実行するとこんな感じです。
ALLは全体の容量、FREEは空き容量、USEDが使用中容量です。
function global:EMPTY() {
CMD /C "empty *";
CLEAR-HOST;
MEM;
}
Serverリソースキットのemptyコマンドを単純に呼び出しているだけですが、ラストに、さっき作ったMEMコマンドを呼び出すようにしています。
↑EMPTYを実行すると、メインRAMがぐぐっと空いてくれるのが分かります。
クリーンナップした後は、MEMコマンドで確認・・・という流れです。
PowerShellは、Windows 10には必ず入っているシェルスクリプトですが、Pythonのように対話型のプログラミング言語という性質も持ち合わせていて、本当に凄いやつです。
JavaScriptとPowerShellは、パソコンを買ったら必ず使えるものなので嬉しいですね。