Thread: How can I use 2GB of shared buffers on Windows?

How can I use 2GB of shared buffers on Windows?

From
"Takayuki Tsunakawa"
Date:
Hello,

Could anyone tell me how to use 2GB of shared buffers on Windows?  I'm
sorry for attaching large text files and for sending this mail to this
ML.
When I try to start PostgreSQL 8.2.1 on Windows 2003 Server with
shared_buffers=1024MB, I get the following error messages in the Event
Log (with log_min_messages=debug5) and can't start PostgreSQL:

DEBUG:  mapped win32 error code 8 to 12

FATAL:  shmat(id=1880) failed: Not enough space


This means the Win32 API MapViewOfFile() failed with error code =
ERROR_NOT_ENOUGH_MEMORY.  However, the machine has 4GB of RAM and the
maximum size of paging file is 8GB.

But I could start PostgreSQL with shared_buffers=900MB.  Then, I
peeked the memory map of postgres.  The attached files are the memory
usage of postgres obtained by vadump. which is a tool included in
Microsoft Resource Kit (vadump is downloadable freely.)
(I'm using packaged PostgreSQL 8.2.1 available from
www.postgresql.org.)

--------------------------------------------------
Symbols loaded: 10000000 : 10107000  libeay32.dll
Symbols loaded: 1c000000 : 1c006000  comerr32.dll
Symbols loaded: 5ba20000 : 5ba77000  hnetcfg.dll
Symbols loaded: 61770000 : 61779000  LPK.DLL
--------------------------------------------------

These modules appear to be criminals.  They are spliting the address
space of postgres and preventing postgres from allocating a large
shared memory.  They seem to be the open source libraries (but what is
hnetcfg.dll?)
Why are they located on strange (evil) places?  What can I do?


Attachment

Re: How can I use 2GB of shared buffers on Windows?

From
Andrew Dunstan
Date:

See here for info that will probably help you:

http://support.microsoft.com/kb/913409

The MS knowledge base is quite a good resource for answers to problems
like this.

Please also note that this is absoutely the wrong list for asking such
questions - this list is *only* for posting patches and discussion of
such posted patches.

cheers

andrew

Takayuki Tsunakawa wrote:
> Hello,
>
> Could anyone tell me how to use 2GB of shared buffers on Windows?  I'm
> sorry for attaching large text files and for sending this mail to this
> ML.
> When I try to start PostgreSQL 8.2.1 on Windows 2003 Server with
> shared_buffers=1024MB, I get the following error messages in the Event
> Log (with log_min_messages=debug5) and can't start PostgreSQL:
>
> DEBUG:  mapped win32 error code 8 to 12
>
> FATAL:  shmat(id=1880) failed: Not enough space
>
>
> This means the Win32 API MapViewOfFile() failed with error code =
> ERROR_NOT_ENOUGH_MEMORY.  However, the machine has 4GB of RAM and the
> maximum size of paging file is 8GB.
>
> But I could start PostgreSQL with shared_buffers=900MB.  Then, I
> peeked the memory map of postgres.  The attached files are the memory
> usage of postgres obtained by vadump. which is a tool included in
> Microsoft Resource Kit (vadump is downloadable freely.)
> (I'm using packaged PostgreSQL 8.2.1 available from
> www.postgresql.org.)
>
> --------------------------------------------------
> Symbols loaded: 10000000 : 10107000  libeay32.dll
> Symbols loaded: 1c000000 : 1c006000  comerr32.dll
> Symbols loaded: 5ba20000 : 5ba77000  hnetcfg.dll
> Symbols loaded: 61770000 : 61779000  LPK.DLL
> --------------------------------------------------
>
> These modules appear to be criminals.  They are spliting the address
> space of postgres and preventing postgres from allocating a large
> shared memory.  They seem to be the open source libraries (but what is
> hnetcfg.dll?)
> Why are they located on strange (evil) places?  What can I do?


Re: How can I use 2GB of shared buffers on Windows?

From
"Takayuki Tsunakawa"
Date:
Hello, Andrew-san

From: "Andrew Dunstan" <andrew@dunslane.net>
> See here for info that will probably help you:
>
> http://support.microsoft.com/kb/913409
>
> The MS knowledge base is quite a good resource for answers to
problems
> like this.
>
> Please also note that this is absoutely the wrong list for asking
such
> questions - this list is *only* for posting patches and discussion
of
> such posted patches.

Thank you very much. I'll check it.  And I'm sorry again for my mail.
I'll never repeat the mistake of sending a mail like this.

----- Original Message -----
From: "Andrew Dunstan" <andrew@dunslane.net>
To: "Takayuki Tsunakawa" <tsunakawa.takay@jp.fujitsu.com>
Cc: <pgsql-patches@postgresql.org>
Sent: Thursday, February 08, 2007 10:44 PM
Subject: Re: [PATCHES] How can I use 2GB of shared buffers on Windows?


>
>
> See here for info that will probably help you:
>
> http://support.microsoft.com/kb/913409
>
> The MS knowledge base is quite a good resource for answers to
problems
> like this.
>
> Please also note that this is absoutely the wrong list for asking
such
> questions - this list is *only* for posting patches and discussion
of
> such posted patches.
>
> cheers
>
> andrew
>
> Takayuki Tsunakawa wrote:
>> Hello,
>>
>> Could anyone tell me how to use 2GB of shared buffers on Windows?
I'm
>> sorry for attaching large text files and for sending this mail to
this
>> ML.
>> When I try to start PostgreSQL 8.2.1 on Windows 2003 Server with
>> shared_buffers=1024MB, I get the following error messages in the
Event
>> Log (with log_min_messages=debug5) and can't start PostgreSQL:
>>
>> DEBUG:  mapped win32 error code 8 to 12
>>
>> FATAL:  shmat(id=1880) failed: Not enough space
>>
>>
>> This means the Win32 API MapViewOfFile() failed with error code =
>> ERROR_NOT_ENOUGH_MEMORY.  However, the machine has 4GB of RAM and
the
>> maximum size of paging file is 8GB.
>>
>> But I could start PostgreSQL with shared_buffers=900MB.  Then, I
>> peeked the memory map of postgres.  The attached files are the
memory
>> usage of postgres obtained by vadump. which is a tool included in
>> Microsoft Resource Kit (vadump is downloadable freely.)
>> (I'm using packaged PostgreSQL 8.2.1 available from
>> www.postgresql.org.)
>>
>> --------------------------------------------------
>> Symbols loaded: 10000000 : 10107000  libeay32.dll
>> Symbols loaded: 1c000000 : 1c006000  comerr32.dll
>> Symbols loaded: 5ba20000 : 5ba77000  hnetcfg.dll
>> Symbols loaded: 61770000 : 61779000  LPK.DLL
>> --------------------------------------------------
>>
>> These modules appear to be criminals.  They are spliting the
address
>> space of postgres and preventing postgres from allocating a large
>> shared memory.  They seem to be the open source libraries (but what
is
>> hnetcfg.dll?)
>> Why are they located on strange (evil) places?  What can I do?
>
>
> ---------------------------(end of
broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that
your
>       message can get through to the mailing list cleanly
>



Re: How can I use 2GB of shared buffers on Windows?

From
Magnus Hagander
Date:
On Thu, Feb 08, 2007 at 09:50:26PM +0900, Takayuki Tsunakawa wrote:
> Hello,
>
> Could anyone tell me how to use 2GB of shared buffers on Windows?  I'm
> sorry for attaching large text files and for sending this mail to this
> ML.
> When I try to start PostgreSQL 8.2.1 on Windows 2003 Server with
> shared_buffers=1024MB, I get the following error messages in the Event
> Log (with log_min_messages=debug5) and can't start PostgreSQL:

Is this for testing, or for production? From what I've heard, you would
normally never want that much shared memory - I've seen more reports on
taht you shuld keep it as low as possible, really. For performance
reasons.

> --------------------------------------------------
> Symbols loaded: 10000000 : 10107000  libeay32.dll
> Symbols loaded: 1c000000 : 1c006000  comerr32.dll
> Symbols loaded: 5ba20000 : 5ba77000  hnetcfg.dll
> Symbols loaded: 61770000 : 61779000  LPK.DLL
> --------------------------------------------------
>
> These modules appear to be criminals.  They are spliting the address
> space of postgres and preventing postgres from allocating a large
> shared memory.  They seem to be the open source libraries (but what is
> hnetcfg.dll?)

hnetcfg.dll is a part of Windows. "Home Networking Configuration
Manager". LPK.DLL is also a part of Windows - it's the language pack.

//Magnus