Перегляд використання пам'яті 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.