Как проверить, какой процесс использует большую часть памяти

Существует по крайней мере два способа сделать это

1) nohup управляйте, как уже упомянуто. Википедия имеет статью о nohup

2) Существует два популярных оконечных мультиплексора screen и tmux Они включают много терминалов, каждый запускающий отдельную программу. Существует много учебных руководств и практического руководства об обоих инструментах в Интернете, просто Google

35
08.11.2014, 01:45
6 ответов

Это покажет вам 10 процессов, которые используют больше всего памяти:

ps aux --sort=-%mem | awk 'NR<=10{print $0}'

using top: когда вы открыли верхнюю нажмите m , процесс будет коротким в зависимости от использования памяти.

Но это не решит Вашу проблему, в Linux все либо файл, либо процесс. так что открытые Вами файлы тоже будут потреблять память. так что это не поможет.

lsof выдаст Вам все открытые файлы с размером файла или смещением файла в байтах.

54
27.01.2020, 19:36

Ваш баран фактически не используется. Linux по умолчанию просто кэширует данные на вашем диске и помещает то, что он кэширует, в раздел «использованный» оперативной памяти.

Если вы загружаете приложения, которые фактически используют эту оперативную память, она будет использоваться ими.

См. http://www.linuxatemyram.com/

9
27.01.2020, 19:36

Вы можете использовать команду slabtop для просмотра того, какие объекты slab используются ядром.
Также вы можете проверить вывод / proc / meminfo

Найдите эти две строки в выводе

Slab:              68136 kB
SReclaimable:      21208 kB 

В приведенном выше примере показано, что ядро ​​использует 68 МБ блочного кэша и 21 МБ можно освободить. Для восстановления вы можете использовать технику, описанную здесь https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Performance_Tuning_Guide/#s-memory-tunables

echo 2 > /proc/sys/vm/drop_caches  
3
27.01.2020, 19:36

Вы можете передать ps и sort , чтобы получить процесс, использующий больше всего памяти. Это также позволит вам указать другие детали процесса, которые вы хотите видеть с ним :

.
ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -n -r | less

PS :Вышеприведенное предполагает, что ваш столбец памяти является первым " sort -k 1 -n -r "

7
27.01.2020, 19:36

Для интерактивного анализа вы можете использовать htop, затем нажать функциональную клавишу F6, чтобы выбрать порядок сортировки -, например.PERCENT_MEM(использование памяти в процентах ),M_RESIDENT(размер резидентной памяти, используемая реальная память ),M_SIZE(размер виртуальной памяти )илиM_SHARE(размер разделяемой памяти ). Первые два являются соответствующими числами .

Зеленые линии — это потоки. Нажмите (в верхнем регистре)Kи H, чтобы скрыть их.

4
27.01.2020, 19:36

Приведенную ниже команду можно использовать для получения процесса, занимающего первое место по проценту использования памяти

# ps -o pid,user,%mem,command ax | sort -b -k3 -r
 PID USER     %MEM COMMAND
 1234 mysql    25.0 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
 5678 apache    1.3 /usr/sbin/httpd
2
20.01.2021, 10:22

Теги

Похожие вопросы