2010-09-12 59 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的應用程序的速度。

我不認爲你可以找出爲什麼你有很多進程正在運行,但如果你覺得這可能是因爲數據庫的使用,這個工具可能會幫助你找到一個原因。