Как в командной строке 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) — консольная команда, которая выводит список работающих в системе процессов и информацию о них.
А в 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