Существует по крайней мере два способа сделать это
1) nohup
управляйте, как уже упомянуто. Википедия имеет статью о nohup
2) Существует два популярных оконечных мультиплексора screen
и tmux
Они включают много терминалов, каждый запускающий отдельную программу. Существует много учебных руководств и практического руководства об обоих инструментах в Интернете, просто Google
Это покажет вам 10 процессов, которые используют больше всего памяти:
ps aux --sort=-%mem | awk 'NR<=10{print $0}'
using top: когда вы открыли верхнюю нажмите m
, процесс будет коротким в зависимости от использования памяти.
Но это не решит Вашу проблему, в Linux все либо файл, либо процесс. так что открытые Вами файлы тоже будут потреблять память. так что это не поможет.
lsof
выдаст Вам все открытые файлы с размером файла или смещением файла в байтах.
Ваш баран фактически не используется. Linux по умолчанию просто кэширует данные на вашем диске и помещает то, что он кэширует, в раздел «использованный» оперативной памяти.
Если вы загружаете приложения, которые фактически используют эту оперативную память, она будет использоваться ими.
Вы можете использовать команду 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
Вы можете передать ps и sort , чтобы получить процесс, использующий больше всего памяти. Это также позволит вам указать другие детали процесса, которые вы хотите видеть с ним :
.ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -n -r | less
PS :Вышеприведенное предполагает, что ваш столбец памяти является первым " sort -k 1 -n -r "
Для интерактивного анализа вы можете использовать htop
, затем нажать функциональную клавишу F6
, чтобы выбрать порядок сортировки -, например.PERCENT_MEM
(использование памяти в процентах ),M_RESIDENT
(размер резидентной памяти, используемая реальная память ),M_SIZE
(размер виртуальной памяти )илиM_SHARE
(размер разделяемой памяти ). Первые два являются соответствующими числами .
Зеленые линии — это потоки. Нажмите (в верхнем регистре)K
и H
, чтобы скрыть их.
Приведенную ниже команду можно использовать для получения процесса, занимающего первое место по проценту использования памяти
# 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