Я пытаюсь получить только объем памяти, используемый процессом. Самое близкое, что я могу получить, это
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. Создайте текстовый файл и вставьте этот код:
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. Надеюсь, вы поймете. Он показывает использование памяти в КБ. Если вы хотите в МБ, то измените "/1КБ на /1МБ"
Если вам не нужно имя, вы можете удалить "Name" после таблицы формата. Также, если вам нужен указанный процесс после get-process, напишите:
-ProcessName exampleprocess
Примечание: Если он не запускается из-за того, что скрипты отключены или по какой-то причине: откройте окно PowerShell и введите:
Set-ExecutionPolicy RemoteSigned