プロセスが使用しているメモリの量を取得する

プロセスが使用しているメモリの量を取得する

プロセスが使用しているメモリの量だけを取得しようとしています。最も近いのは

tasklist /fi "imagename eq process.exe"

しかし、これはたくさんのものを返します:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
process.exe                        3384 Console                    1     81,384 K
process.exe                        6156 Console                    1     30,204 K
process.exe                        1436 Console                    1     84,696 K
process.exe                         216 Console                    1    195,100 K

プログラムをダウンロード/インストールせずに、何かが使用しているメモリの量を数値で取得できる方法はありますか?

答え1

これを試してください: 1. txt ファイルに次のコードを貼り付けます:

get-process | Group-Object -Property ProcessName | 
Format-Table Name, @{n='Mem (KB)';e={'{0:N0}' -f (($_.Group|Measure-Object WorkingSet -Sum).Sum / 1KB)};a='right'} -AutoSize

something.ps1 として保存し、実行 (win+r) に進み、powershell と入力して Enter キーを押します。作成したファイルを検索して実行します。たとえば、このファイルがデスクトップにある場合は、PowerShell でデスクトップに移動し (cd コマンドを使用)、ファイルを見つけるのに必要な回数だけ Tab キーを押し、Enter キーを押します。これで理解できたと思います。メモリ使用量が KB 単位で表示されます。MB 単位で表示したい場合は、「/1KB を /1MB に変更」します。

名前が必要ない場合は、フォーマット テーブルの後の「Name」を削除できます。また、get-process の後に特定のプロセスが必要な場合は、次のように記述します。

-ProcessName exampleprocess

注: スクリプトが無効になっているなどの理由で実行されない場合は、PowerShell ウィンドウを開いて次のように入力します。

Set-ExecutionPolicy RemoteSigned

関連情報