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


11

Я использую Postgresql на сервере Ubuntu, и мне нужно отслеживать использование памяти. В настоящее время у меня есть скрипты, выполняющиеся в одноминутном задании cron, которые отслеживают / регистрируют различную статистику и должны также отслеживать / регистрировать текущее использование памяти Postgresql. Я искал вокруг и не смог найти ничего, кроме того факта, что Postgresql хорошо использует разделяемую память, поэтому значения, задаваемые программой, такой как 'top', не точны.

Как я могу отслеживать общее использование памяти Postgresql в любой момент времени? Эти данные позже будут использованы для создания графиков для анализа.

Ответы:


8

Использование памяти в Linux в целом и для Postgres в частности является довольно сложной темой , хорошей отправной точкой является блог Брюса Момджиана, посвященный теме и использованию smem . На эту тему стоит перейти по ссылкам в блоге Криса Сейбенманна .


Спасибо за ссылки, но похоже, что smem не будет работать, так как версия ядра слишком старая. Хорошие статьи, хотя.
Раффл

0

Вы можете использовать pmapкоманду для получения используемой памяти процесса:

# pmap -p PID

К сожалению, в этом случае pmap не очень полезен, так как Postgresql использует много общей памяти. Из-за этого общая память, сообщаемая такими инструментами, как pmap для Postgresql, больше, чем общая используемая память в системе.
Раффл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.