Как найти, какие процессы забирают всю память?

85

Я ищу что-то вроде верхней части загрузки процессора. Есть ли аргумент командной строки для top, который делает это? В настоящее время моя память настолько заполнена, что даже 'man top' выходит из строя из-за нехватки памяти :)

ripper234
источник

Ответы:

104

Изнутри topвы можете попробовать следующее:

  • Нажмите SHIFT+f
  • Нажмите букву, соответствующую% MEM
  • Нажмите ENTER

Вы также можете попробовать:

$ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5

Это даст 5 лучших процессов по использованию памяти.

Стивен Д
источник
18
В Linux просто нажмите, Mчтобы отсортировать данные по физической памяти (столбец RES). Под * BSD запустите top -o resили top -o size. Но htop намного приятнее и даже не потребляет больше памяти, чем top (однако он не является частью базового набора инструментов, поэтому он может быть не установлен).
Жиль
2
Я должен был нажать, sчтобы отсортировать, %MEMа затем нажать клавишу выхода наверх.
Брайс Гуинта
11

Если он установлен, мне нравится, htop когда он запускается, вы можете нажать f6, down arrow(to MEM%), enterчтобы отсортировать по памяти.

xenoterracide
источник
6

После topзапуска нажмите Fдля переключения на экран поля сортировки. Выберите одно из перечисленных полей, нажав клавишу слева; Вы, вероятно, хотите NдляMEM%

Михаил Мрозек
источник
2
Если вы хотите MEM%, нажмите «M», как описано выше. 'c' добавляет параметры командной строки в список процессов, может быть информативным для вашей проблемы.
вилять
6

В Solaris вам понадобится следующая команда:

prstat -a -s size

Это перечислит все процессы в порядке убывания размера изображения процесса. Обратите внимание, что последнее основано на памяти, выделенной процессу операционной системой, а не на ее резидентном использовании физической памяти.

Предположительно существуют версии «top» для Solaris, но они не являются частью стандартной установки.

Джоэл Хофф
источник
5

Одна хорошая альтернатива topесть htop. Проверьте это, это намного более удобно для пользователя, чем обычный топ.

Klark
источник
1

Эта команда идентифицирует основные процессы, потребляющие память:

ps -A --sort -rss -o pid,pmem:40,cmd:500 | head -n 6 | tr -s " " ";z"
user90191
источник
0

Вы можете попробовать ps aux --sort -rss | headилиps aux | sort -nk +4 | tail

Дэвид Окви
источник