> > So: has anybody a hint how I can check how much shared_memory > > is really used by PostgreSQL on Windows, to fine tune > this parameter? > > > > I learned the hard way that just rising it can lead to a hard > > performance loss :) > > Not really sure :) We're talking about anonymous mapped > memory, and I > don't think perfmon lets you look at that. > > > thanks for the clarification. However, > > "anonymous mapped memory" site:microsoft.com > > turns out 0 (zero) results. And even splitting it up there > seems to be nearly no information ... is the same thing by > any chance also known by different names? Hmm. Yeah, most likely :) I may have grabbed that name from something else. THe documentation for the call is on http://windowssdk.msdn.microsoft.com/en-us/library/ms685007(VS.80).aspx, we specifu INVALID_HANDLE_VALUE for hFile, which means: If hFile is INVALID_HANDLE_VALUE, the calling process must also specify a mapping object size in the dwMaximumSizeHigh and dwMaximumSizeLow parameters. In this scenario, CreateFileMapping creates a file mapping object of a specified size that the operating system paging file backs, instead of by a named file in the file system. > > However, there is no limit to it as there often is on Unix > - you can > > map up to whatever the virtual RAM size is (2Gb/3Gb > dependingo n what > > boot flag you use, IIRC). You can monitor it as a part of the total > > memory useage on the server, but there's no way to > automatically show the difference between them. > > So the "performance shock" with high shared memory gets > obvious: memory mapped files get swapped to disk. I assume > that swapping is nearly transparent for the application, > leading to a nice trashing ... Yes :-) There is a performance manager counter for pages swapped out to disk. If that one goes above very low numbers, you're in trouble... //Magnus