Magnus,
That shows that you don't really know how the memory manager in NT+ works ;-) *ALL* normal file I/O is handled through the memory manager :-) So yes, they are both different access methods to the memory manager, really.
"don't really" is a overstatement, I do not know at all how the memory manager works in NT+. All I learned is "Inside Windows NT" of H. Custer from 1993 :) So, just to make sure I understood correctly: If PostgreSQL reads a file from disk, Windows NT does this file I/O though the same memory manager than when PostgreSQL puts parts of this read file [for example an index segment] into shared memory - which is nothing but a file, that usually stays in main memory. Correct so far? I continued from this thoughts: lets say there is 500MB memory available, we have 100MB of shared_memory configured. Now PostgreSQL reads 100MB from a file - memory manager takes 100MB memory to fullfill this file access (optimizations aside) Now PostgreSQL reshuffles that 100MB and decides: "hmmmm, that may be valuable for ALL of the currently running postgres.exe" and pushes those 100MB into shared memory for all to use. It caches the 100MB - a fine chunk of an index. From this kind of understanding, memory manager has 200MB in use: the 100MB from the file read, and the 100MB of shared memory. Of course the 100MB of the file in memory manager will get flushed soon. Now, lets restrict PostgreSQL: I only give the minimum amout of shared memory. It will NOT cache those 100MB in shared memory. But: PostgreSQL really was correct. The other 20 postgres.exe access the same file on a regular basis. Won't memory manager keep that file "cached" in RAM anyway? I try my theories :)) and contrary to all wisdom from all PostgreSQL tuning recommendations reconfigured shared memory nearly to the minimum: 1000 for maximum of 400 concurrent connections. (800 would be minimum). Single user performance was fine, now I am looking forward to full user scenario tomorrow. I will keep you posted. Harald -- GHUM Harald Massa persuadere et programmare Harald Armin Massa Reinsburgstraße 202b 70197 Stuttgart 0173/9409607 - Python: the only language with more web frameworks than keywords. ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend