Last active
January 25, 2022 21:35
-
-
Save fabriziomello/a48d06f92c8ca87a3019842832b4b0bf to your computer and use it in GitHub Desktop.
Get memory info from a certain process
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- https://psutil.readthedocs.io/en/latest/#psutil.Process.memory_full_info | |
-- Linux: 0=rss, 1=vms, 2=shared, 3=text, 4=lib, 5=data, 6=dirty, 7=uss, 8=pss, 9=swap | |
CREATE OR REPLACE FUNCTION get_memory_info(pid INTEGER DEFAULT NULL, memtype INTEGER DEFAULT 0) | |
RETURNS BIGINT | |
AS | |
$$ | |
import psutil | |
p = psutil.Process(pid) | |
return p.memory_full_info()[memtype] | |
$$ | |
LANGUAGE plpythonu; | |
-- With this function you can get the following memory information about current PostgreSQL backends (aka processes) | |
-- | |
-- fabrizio=# \e | |
-- pid | backend_type | datname | query | memory_usage | |
-- -------+------------------------------+----------+------------------------------------------------------------------------------------------------+-------------- | |
-- 27429 | autovacuum launcher | | | 5420 kB | |
-- 27427 | background writer | | | 4948 kB | |
-- 27426 | checkpointer | | | 4496 kB | |
-- 21592 | client backend | fabrizio | | 8236 kB | |
-- 27436 | client backend | fabrizio | SELECT pid, backend_type, datname, query, pg_size_pretty(get_memory_info(pid)) AS memory_usage+| 30 MB | |
-- | | | FROM pg_stat_activity +| | |
-- | | | ORDER BY 2; | | |
-- 27431 | logical replication launcher | | | 5396 kB | |
-- 27428 | walwriter | | | 7748 kB | |
-- (7 rows) |
Author
fabriziomello
commented
Jan 25, 2022
•
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment