🎩
【Windows 小ネタ】PowerShell で Linux の top のようにメモリ順に表示
PowerShell 7.4.5 で動作確認しています。
Solution
PowerShell で実直に記述
Function Top {
while (1) {
Clear-Host
Get-Process | Sort-Object -Descending -Property PM -Top 10 | Format-Table
Start-Sleep -Seconds 3
}
}
デフォルトの Alias を使って linux っぽく
function Top {
while (1) {
clear
ps | sort -d pm -t 10 | ft
sleep 3
}
}
とも書くことができます。
notepad $PROFILE.CurrentUserCurrentHost
などで起動プロファイルに貼り付け、保存して
& $PROFILE.CurrentUserCurrentHost
または
. $PROFILE.CurrentUserCurrentHost
で読み込むと top
が使えるようになります。
$PROFILE.CurrentUserCurrentHost
は PowerShell の起動時に実行される PowerShell プロファイルです。
詳細は以下を参照してください。
コア処理の実行例
PS C:\Users\sharl> Get-Process | Sort-Object -Descending -Property PM -Top 10 | Format-Table
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
0 3,989.95 710.53 0.00 11820 0 vmmemWSL
61 1,515.49 132.54 62.05 31932 1 run
103 1,388.84 299.90 3,969.91 4568 1 chrome
55 1,094.65 538.38 20.61 24480 1 DQXGame
57 1,048.54 258.93 1,881.98 19652 1 chrome
39 754.32 470.54 1,799.89 3144 1 Slack
293 683.52 641.77 1,065.28 15368 1 PhoneExperienceHost
92 673.01 549.30 7,768.16 16984 1 chrome
51 583.50 588.61 805.45 8348 1 chrome
245 531.68 317.70 322.03 9960 1 explorer
Discussion