Я пытаюсь получить только объем памяти, используемый процессом. Самое близкое, что я могу получить, это

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

1

Попробуйте это:1. Сделайте текстовый файл вставьте этот код:

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

Сохраните как что-то .ps1, затем запустите (win+r) тип: powershell enter. найдите файл, который вы создали, и запустите его. Например, если у вас есть этот файл на рабочем столе, перейдите на ваш рабочий стол в powershell (с помощью команды cd), затем нажмите клавишу табуляции столько раз, сколько нужно, чтобы найти файл с ним, затем введите. Я надеюсь, что вы можете понять это. Это дает вам использование памяти в КБ. Если вы хотите в МБ, измените "/1KB на /1MB"

Если вам не нужно имя, вы можете удалить "Имя" после таблицы форматирования. Кроме того, если вы хотите указанный процесс после get-process write:

-ProcessName exampleprocess

Примечание: если он не хочет запускаться, потому что скрипты отключены или что-то вроде этого: откройте окно powershell и введите:

Set-ExecutionPolicy RemoteSigned

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .