LINUX.ORG.RU

Подскажите программу

 


0

2

Доброго всем дня! Чем можно посмотреть использование памяти для PID и всех его форков? Хотелось бы по завершению ./proga_name посмотреть сколько памяти было использовано родителем и всеми дочерними процессами за сеанс. Нагуглил valgrind, но он вроде только утечки памяти показывает.

★★★★

Подскажите программу. Чем можно посмотреть

Не то чтобы программа, но скрипт вполне годный: https://github.com/kwkroeger/smem

anonymous
()

сколько памяти было использовано родителем и всеми дочерними процессами за сеанс

Вот у тебя приложение загружает в раму гигабайт данных, потом выгружает, потом загружает еще один - это за сеанс два гигабайта или один? А всякие разделяемые штуки? А если у тебя приклад усиленно на диск пишет, сам потребляет 4Гб и кэши сжирают еще столько же, это приложение утилизировало 4 или 8? А если у тебя приложению выделили 8 гигов, например, а оно только 4 использовало, остальное на нем просто висит потому что никто не запросил, это как учитывать?

Вот в зависимости от всего этого тебе и нужно смотреть, а то может тебе хватит /proc почитывать или ps дергать, а может нужно брать что-то что сможет системные вызовы читать, и так далее.

anonymous
()
Ответ на: комментарий от anonymous

Хм. Тогда надо смотреть сколько максимально было выделено. Что-то типа такого

max, cur int64

for {
    cur = memusage()
    if max < cur { max = cur }
    sleep(1)
}
print(max)
dnb ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.