【问题标题】:Postgresql 12.2 taking lot of resident memory over period of timePostgresql 12.2 在一段时间内占用大量常驻内存
【发布时间】:2020-11-17 21:52:45
【问题描述】:

Postgresql 12.2 在一段时间内占用了大量的常驻内存。

pidstat -l -r -p ALL  | grep -i [p]ostgres |  gawk '{ sum += $7 }; END { print sum }'

命令在 5 天后给我 2GB,最初是 350 MB。无论如何要减少它或不允许它占用太多内存。

【问题讨论】:

    标签: database postgresql centos psql


    【解决方案1】:

    RSS 包括每个进程曾经独立访问过的所有共享内存。所以总结起来就是一遍又一遍地计算相同的内存。由于您报告的总和毫无意义,因此试图减少它是没有意义的。如果您认为自己有内存问题,那么查看任何进程的最大 RSS 可能是诊断它的更好方法。但如果没有理由认为存在内存问题,请不要试图发明一个。

    【讨论】:

    • 好吧,我明白了,但我想减少,无论如何。此外,当我执行 ps aux | grep postgres 时,有很多进程处于空闲状态。可能是什么原因?除此之外,无论如何都可以限制或排除随着时间累积的冗余进程。
    • 查看视图 pg_stat_activity 以查看空闲连接来自何处以及它们在空闲之前正在做什么。也许您的应用在完成连接后无法关闭连接。
    猜你喜欢
    • 2014-05-11
    • 2011-02-27
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多