[pgsql-jp: 41543] Re: 9.3でのwork_memについて

TAKATSUKA Haruka harukat @ postgresql.jp
2014年 1月 12日 (日) 16:47:35 JST


On Fri, 10 Jan 2014 14:36:57 +0900
Keiichi Sadanaga <ksfore @ gmail.com> wrote:

> 以前はwor_mem設定値の半分くらいしか実際には使っていなかったので、それを見越した設定をしていた場合、今回は設定値分を効率的に使うようになったので、9.3にするとメモリ消費量が増えたように見えるということですね。
> 
> あと、知らなかったのですが、サブクエリをつかうと各々でwork_memのメモリを取得してしまうというところです。
> サブクエリをつかったSQLを多用しているアプリの場合、その分も考慮しないとメモリが足りなくなる可能性がある、

そうなります。

>その分逆にwork_memを減らしたほうがいいということで宜しいでしょうか?

はい。他に、同時接続数(コネクションプール枠数)を減らす、shared_buffers を減らす、
物理メモリを増やす、swap領域を十分に用意しておく、など、対応の仕方は色々です。



> 2014年1月10日 13:58 TAKATSUKA Haruka <harukat @ postgresql.jp>:
> > 高塚と申します。
> >
> > これですね。
> > http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=8ae35e91807508872cabd3b0e8db35fc78e194ac
> >
> > (以前は)指定上限の半分しか使わないことがあると書かれていますので、
> > メモリ内ソートをするときのメモリ利用が増えたとして、増分は高々
> >  work_mem 設定値 x 1/2 くらい、と考えればよいでしょうか。
> >
> > # 以前からの PostgreSQL の制限事項で、多段のサブクエリは各々に work_mem 分の
> > # メモリを取得してしまいますのでその点も 適宜考慮ください
> >
> > On Fri, 10 Jan 2014 12:55:42 +0900
> > Keiichi Sadanaga <ksfore @ gmail.com> wrote:
> >
> >> PostgreSQLが9.3になった際の変更点としてメモリ内ソートで割り当てられたメモリ全体が使えるようになったという記載があり、work_memの設定値での振る舞いがそれ以前のバージョンより多く消費されるとあったのですが、具体的はどのようにメモリの使われ方がかわったのでしょうか?
> >> Linux環境においてのメモリ関連の設定、チューニングの際にどのように注意すべきかを知りたいです。

______________________________________________________________________
  日本PostgreSQLユーザ会  高塚 遙  http://www.postgresql.jp



pgsql-jp メーリングリストの案内