Как в командной строке Windows вывести список процессов, занимающих больше памяти, например:

vmware-vmx.exe                4320 Console                    1  4 423 340 K
firefox.exe 9124 Console 1 579 264 K
svchost.exe 1208 Services 0 354 196 K
VCExpress.exe 4928 Console 1 231 364 K
csrss.exe 868 Console 1 146 300 K
explorer.exe 6680 Console 1 136 308 K
OUTLOOK.EXE 4316 Console 1 130 268 K

используя при этом только стандартные программы Windows.

В Linux есть полезная программа top.

top (table of processes) — консольная команда, которая выводит список работающих в системе процессов и информацию о них.

top на Википедии

А в Windows можно использовать программы:

  • tasklist для вывода списка процессов и фильтрации списка по объёму памяти (условие больше).
  • sort для сортировки вывода tasklist по убыванию объёма памяти

Следующая команда выводит процессы, занимающие в памяти больше 100 МБ с обратной сортировкой (процессы, занимающие больше памяти, выводятся в начале списка):

tasklist /fi "MEMUSAGE ge 102400" /nh | sort /r /+65

Аргумент /fi «MEMUSAGE ge 102400» задает фильтрацию: объём памяти больше или равен (ge = greater or equal) 100 МБ (102400 кБ).

Параметр /nh убирает заголовок таблицы, чтобы он не участвовал в сортировке.

Параметр /r означает сортировку по убыванию (в обратном порядке, reverse order).

Параметр /+65 задает сортировку по размеру области памяти: число 65 – это позиция в строке, в которую выводится число килобайт памяти.

Жаль, но tasklist не выводит процент загрузки процессора, поэтому для получения списка процессов, отсортированного по загрузке процессора, придётся формировать список самостоятельно, например, с помощью скрипта определения загрузки процессора.

См. также

Другие примеры с использованием tasklist

Список процессов, отсортированный по памяти

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *