Как посмотреть какой объем памяти потребляет опр.программа?
Причем программа, не из deb-пакета, а самописная.
htop показывает только все программы.
Как посмотреть какой объем памяти потребляет опр.программа?
Модератор: Модераторы разделов
-
aleksnsk
- Сообщения: 180
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Как посмотреть какой объем памяти потребляет опр.программа?
Ну, в htop можно фильтровать. Но всё равно неверные данные показывает. Любые программы измерения памяти показывают неверные данные. Невозможно из мерять правильно, из-за того, что с памятью всё очень непросто. Можете посмотреть pmap <pid>, cat /proc/<pid>/smaps, чтобы оценить масштабы бедствия. Ту, информацию, что показывает top, htop можно посмотреть в cat /proc/1511/status, но общая память там выдаётся для зарезервированных страниц, а не реально выделенных, что вряд ли полезно.
Спасибо сказали:
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Как посмотреть какой объем памяти потребляет опр.программа?
top
Shell
$ top -n1 -p15199
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
Cpu(s): 20.2%us, 8.1%sy, 0.3%ni, 71.2%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 1012696k total, 956932k used, 55764k free, 48k buffers
Swap: 124736k total, 123672k used, 1064k free, 613272k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15199 drb 20 0 665m 235m 27m S 0 23.8 146:08.45 firefox
тут два раза память:
1. VIRT сколько программа ЗАПРОСИЛА памяти
2. RES сколько программа ИСПОЛЬЗОВАЛА памяти
Т.е. вот такой код
Код: Выделить всё
char *p = malloc(1048576*100);
memset(p, 17, 1048576);покажет VIRT=100m, и RES=1m.
ИМХО вы зря пугаете человека. Всё просто.
Спасибо сказали:
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Как посмотреть какой объем памяти потребляет опр.программа?
Ничего там не просто. Например, RES берёт и складывает private и shared. Может показаться вот закрою программу и память освобожу, а на самом деле освободится намного меньше.
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Как посмотреть какой объем памяти потребляет опр.программа?
да ладно. Не намного.
2ТС, я надеюсь вы не дурак, и не будете понимать моё объяснение на пальцах буквально. Истина как обычно где-то рядом. ☺
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Как посмотреть какой объем памяти потребляет опр.программа?
Как пример:
Private 8352 KB (= 824 KB clean + 7528 KB dirty)
Shared 35528 KB (= 15692 KB clean + 19836 KB dirty)
Rss 43880 KB (= Private + Shared)
Pss 11656 KB (= Private + Shared/Number of Processes)
top:
Код: Выделить всё
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5718 nicklion 20 0 514964 43900 20456 S 6,552 1,092 0:04.04 konsoleПри этом заметьте, что RSS/RES даже не учитывает чистые страницы в shared памяти.
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Как посмотреть какой объем памяти потребляет опр.программа?
это вы как такого добились? oO
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Как посмотреть какой объем памяти потребляет опр.программа?
Обычный konsole. Основную гадость (как dirty, так и clean) в shared даёт кэш иконок и блоб nvidia (эффекты kde включены).
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Как посмотреть какой объем памяти потребляет опр.программа?
м... Ну ладно. У меня такой ☣ нету.