【问题标题】:dbeaver and other connections somehow consumes postgresql server memorydbeaver 和其他连接以某种方式消耗 postgresql 服务器内存
【发布时间】:2021-11-07 08:36:51
【问题描述】:

我主要使用 DBeaver、psycopg2 和 sqlalchemy 连接到我的 postgresql timescaleDB 实例。随着我运行越来越多的查询,当我执行 htop 时。我意识到postgresql正在占用越来越多的内存......有没有办法让我释放这个内存?谢谢

编辑: 我第二次复制问题。 https://i.stack.imgur.com/hANEh.png

【问题讨论】:

  • 您实际看到了什么?您是否知道 htop 不会按比例分配共享内存,而是报告它被每个接触它的进程使用?
  • 另外,当您完成一个查询或一组查询后,您是否会释放连接?
  • @AdrianKlaver,嗯...我如何释放 dbeaver、psycopg2 和 sqlalchemy 中的连接。它们有不同的语法吗?
  • @jjanes,在我的 ubuntu 上打开 htop 后,我看到一个名为“postgres: postgres postgres 108.32.12.32(61132) idle”的命令占用了 1506MB RES SHR1484MB ......(因为目前我只使用 DBeaver 连接它....)上次它就像 10GB RES....
  • @jjanes,我附上了我看到的...谢谢!

标签: postgresql timescaledb


【解决方案1】:

从 VIRT 列看来,您的 shared_buffers 设置为 15GB。对于关心内存使用的人来说,这是一个非常大的设置。

除此之外,这里没有任何问题的迹象。他们都没有使用您允许他们使用的内存附近的任何地方;其中大部分是在他们之间共享的。这意味着您应该只计算一次,而不是每个进程一次。

【讨论】:

  • 嗯...根据我之前的经验,它确实会占用 20GB 内存...我暂时没有截图...
  • RES列下有20GB的单个进程?如果它再次发生,这可能值得研究。完整的进程标题(就像您在当前图像中审查的内容)可能会非常有帮助,以及来自该 pid 的 pg_stat_activity 的数据,如果可以的话,可以像这样收集详细信息:wiki.postgresql.org/wiki/…。 v14发布时,还会有pg_log_backend_memory_contexts()
  • 我明白了~谢谢。我隐藏的信息是我的IP地址:D如果下次再次出现,我会再次更新。
猜你喜欢
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-31
  • 1970-01-01
相关资源
最近更新 更多