2010-09-12 61 views
2

我已经在Windows上运行的Postgres和我试图调查奇怪的行为:有17个Postgres处理,8掉那些17的消耗〜300K的每个内存。需要PostgreSQL的监测工具,在Windows

  • 有没有人知道这样的行为是怎么回事?
  • 有谁知道要调查问题的工具吗?
+0

什么实际问题? – nos 2010-09-12 16:43:36

回答

1

8掉那些17的消耗〜300K存储器 每个。

你110%的把握? Windows不知道共享缓冲区使用了多少内存。每个进程只能使用几个kb,并将共享内存与其他进程一起使用。

你有什么问题吗?使用内存不是问题,使用内存。如果每个进程真的使用300KB,那么每个300KB都只有几MB。

而且不要忘记,PostgreSQL是一个多理线系统。这也是它在多核和多处理器系统上如此轻松的原因。

+0

- 我从Windows任务管理器的“Mem Usage”列中消耗了内存消耗的数字。你的意思是它不适合使用共享内存的进程吗? - 我知道PostgreSQL是一个多进程系统,但有17个进程!? – voldemar 2010-09-13 09:02:29

+0

Windows任务管理器的“内存使用情况”栏不知道共享内存的任何内容,它只是一个估计值。 17个进程并不多,听起来像一些基本的进程(如postmaster和auto_vacuum)以及一些来自应用程序的连接。当你有50个连接时,你会看到超过50个进程。没什么好担心的,这很正常。 – 2010-09-13 14:41:44

0

一种用于分析从PostgreSQL的输出工具可以在http://pgfouine.projects.postgresql.org/

pgFouine发现是用于生成从一个PostgreSQL日志文件的详细报告一个PostgreSQL日志分析。 pgFouine可以帮助您确定应优化哪些查询以加快基于PostgreSQL的应用程序的速度。

我不认为你可以找出为什么你有很多进程正在运行,但如果你觉得这可能是因为数据库的使用,这个工具可能会帮助你找到一个原因。