From: mk on
Hi. Does anyone know how to set the IMAGE_FILE_LARGE_ADDRESS_AWARE bit for
C# apps? It appears that the link switch /LARGEADDRESSAWARE will do it for
C++ apps, but I can't seem to find anything for C#. I want to enable /4GT on
a w2k3 server with 8GB Ram, so that one process may avail of more memory.
Thanks.
From: Willy Denoyette [MVP] on
"mk" <mk(a)discussions.microsoft.com> wrote in message
news:D3C77B29-7222-4154-AA70-DB30C7864AFD(a)microsoft.com...
> Hi. Does anyone know how to set the IMAGE_FILE_LARGE_ADDRESS_AWARE bit for
> C# apps? It appears that the link switch /LARGEADDRESSAWARE will do it for
> C++ apps, but I can't seem to find anything for C#. I want to enable /4GT on
> a w2k3 server with 8GB Ram, so that one process may avail of more memory.
> Thanks.


You will have to run editbin.exe with /LARGEADDRESSAWARE:YES on the exe.
But, make sure you understand the ramifications of doing this, in general you only want to
enable this on dedicated servers. The reason is that when enabling /4GT, you are effectively
reducing the OS address space from 2GB to 1GB, this may introduce several issues when the OS
runs out of memory.

Willy.


From: mk on
Thanks. That's exactly what I was looking for, we'll be doing extensive
testing/stressing on the machines in question, so there's no guarantee that
we'll use it, but I think for our caching services which are pretty
lightweight but extremely memory-intensive it may do the job nicely. Thanks
again.


"Willy Denoyette [MVP]" wrote:

> "mk" <mk(a)discussions.microsoft.com> wrote in message
> news:D3C77B29-7222-4154-AA70-DB30C7864AFD(a)microsoft.com...
> > Hi. Does anyone know how to set the IMAGE_FILE_LARGE_ADDRESS_AWARE bit for
> > C# apps? It appears that the link switch /LARGEADDRESSAWARE will do it for
> > C++ apps, but I can't seem to find anything for C#. I want to enable /4GT on
> > a w2k3 server with 8GB Ram, so that one process may avail of more memory.
> > Thanks.
>
>
> You will have to run editbin.exe with /LARGEADDRESSAWARE:YES on the exe.
> But, make sure you understand the ramifications of doing this, in general you only want to
> enable this on dedicated servers. The reason is that when enabling /4GT, you are effectively
> reducing the OS address space from 2GB to 1GB, this may introduce several issues when the OS
> runs out of memory.
>
> Willy.
>
>
>
From: Chris Mullins on
"mk" <mk(a)discussions.microsoft.com> wrote
> Hi. Does anyone know how to set the IMAGE_FILE_LARGE_ADDRESS_AWARE bit
> for
> C# apps? It appears that the link switch /LARGEADDRESSAWARE will do it
> for
> C++ apps, but I can't seem to find anything for C#. I want to enable /4GT
> on
> a w2k3 server with 8GB Ram, so that one process may avail of more memory.
> Thanks.

Your best bet (obviously) is to get a 64-bit machine, and run your code in
64-bit land.

You're only going to get (at best) another 1GB or so of memory available to
your managed heap. You will won't be able to access all 8GB, you're stuck
with just 3 gigs.

--
Chris Mullins, MCSD.NET, MCPD:Enterprise
http://www.coversant.net/blogs/cmullins