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

У меня есть процесс, который я хотел бы увидеть, сколько памяти он потребляет во время работы.

Прямо сейчас я делаю это:

ps faux | grep casper

Но это просто дает мне информацию об этом моменте. Было бы неплохо увидеть, как это значение меняется по мере выполнения скрипта.

Как я могу это сделать?

16
задан 18 December 2013 в 00:51

5 ответов

Метод 1

Выполнение:

top

Проверьте PID программы (первый столбец), затем выполните:

top -p PID

Метод 2

Либо вставьте это в терминал, либо сохраните его как mem_usage.sh и запустите из терминала.

#! /bin/bash
while :
do
    clear
    ps faux | grep casper
    sleep 1s
done
0
ответ дан 18 December 2013 в 00:51

Чтобы контролировать только ваш процесс, вы можете проверить / proc / PID / status или /proc/PID/statm.

О / proc / PID / statm:

После выполнения cat /proc/PID/statm вы должны увидеть это:

611450 185001 883 18 0 593431 0

Объяснение:

  1. размер: - общий размер программы (611450 X 4096/1024 = 2445800kB = 2388M)
  2. резидент: - размер резидентного набора (185001 X 4096/1024 = 740004kB = 722M)
  3. поделиться: - общими страницами (883 X 4096 = 3532)
  4. trs: - текст (код) (18 X 4096/1024 = 72kB = VmExe)
  5. drs: - data / stack
  6. lrs: - библиотека (593431 X 4096/1024 = 2373724kB = VmData + VmStk)
  7. dt: - грязные страницы

Также вы можете войти активность памяти вашего процесса, выполняющего цикл с использованием даты и кота.

0
ответ дан 18 December 2013 в 00:51

Откройте системный монитор и перейдите на вкладку Процессы :

0
ответ дан 18 December 2013 в 00:51

вы можете использовать команду «top»

man top

Эта программа позволяет вам сортировать использование ресурсов, среди прочего, по RSS, VSZ, CPU и т. Д. Это очень полезно.

В качестве альтернативы, для более подробной разбивки использования памяти, попробуйте 'pmap'

man pmap

Пример использования:

pmap -x 1234

приветствия

sc.

0
ответ дан 18 December 2013 в 00:51

Попробуйте:

watch 'ps faux | grep -v grep | grep casper'

Вы также можете изменить интервал обновления, используя параметр --interval <seconds>.

0
ответ дан 18 December 2013 в 00:51

Другие вопросы по тегам:

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