Home All Groups Group Topic Archive Search About
Author
5 Apr 2005 3:52 PM
Yahya
Dear Sirs,

    I have developed a VB .Net windows application, but unfortunately when I
this application tries to use more than 2GB memory it fails although there
is available 4GB of memory on the machine. How may I allocate more virtual
memory to be used by the application or extend this limit?

Regards,
Yahya

Author
5 Apr 2005 4:08 PM
David Browne
"Yahya" <x@x.x> wrote in message
news:ecduAffOFHA.3716@TK2MSFTNGP14.phx.gbl...
> Dear Sirs,
>
>    I have developed a VB .Net windows application, but unfortunately when
> I
> this application tries to use more than 2GB memory it fails although there
> is available 4GB of memory on the machine. How may I allocate more virtual
> memory to be used by the application or extend this limit?
>

The amount of RAM on the machine is irrelevant.  Your application uses
virtual memory which is paged from disk to RAM by the OS.

On 32-bit windows you have a 4gig virtual address space which divided into
2gigs for user-mode code, and 2gigs for kernel-mode code.  So your
application (which runs in user-mode) can only access the bottom 2gigs of
the address space.

On 64bit windows, native 64-bit apps (which you can't write with .NET 1.1)
have a very large address space. 32-bit apps running on 64bit windows in the
Windows On Windows64 environment still have a 4gig address space, but since
all no kernel-mode code can run in 32-bit mode, you can use the whole 4gig
address space.

But seriously, why are you using so much memory?

David
Author
6 Apr 2005 7:40 AM
Yahya
I am using such a large amount or memory since this application is copying
large mail items between public folders on a machine which is also running
exchange 2003 that is taking alone the minimum of 1GB.

But I still didn't understand how can I make use of the whole 4GB of memory.

Thank you,
Yahya

Show quoteHide quote
"David Browne" <davidbaxterbrowne no potted m***@hotmail.com> wrote in
message news:eLchrmfOFHA.1172@TK2MSFTNGP12.phx.gbl...
> "Yahya" <x@x.x> wrote in message
> news:ecduAffOFHA.3716@TK2MSFTNGP14.phx.gbl...
> > Dear Sirs,
> >
> >    I have developed a VB .Net windows application, but unfortunately
when
> > I
> > this application tries to use more than 2GB memory it fails although
there
> > is available 4GB of memory on the machine. How may I allocate more
virtual
> > memory to be used by the application or extend this limit?
> >
>
> The amount of RAM on the machine is irrelevant.  Your application uses
> virtual memory which is paged from disk to RAM by the OS.
>
> On 32-bit windows you have a 4gig virtual address space which divided into
> 2gigs for user-mode code, and 2gigs for kernel-mode code.  So your
> application (which runs in user-mode) can only access the bottom 2gigs of
> the address space.
>
> On 64bit windows, native 64-bit apps (which you can't write with .NET 1.1)
> have a very large address space. 32-bit apps running on 64bit windows in
the
> Windows On Windows64 environment still have a 4gig address space, but
since
> all no kernel-mode code can run in 32-bit mode, you can use the whole 4gig
> address space.
>
> But seriously, why are you using so much memory?
>
> David
>
>
Author
6 Apr 2005 1:27 PM
Sean Hederman
"Yahya" <x@x.x> wrote in message
news:eH28pvnOFHA.3380@TK2MSFTNGP15.phx.gbl...
>I am using such a large amount or memory since this application is copying
> large mail items between public folders on a machine which is also running
> exchange 2003 that is taking alone the minimum of 1GB.

How exactly is this copying being done? Can you not chunk the copy?

> But I still didn't understand how can I make use of the whole 4GB of
> memory.

You can't. To paraphrase David this would only be available on a 64-bit
machine running a 64-bit version of Windows and .NET 2.0, which has not yet
been released. The limit for standard Win32 applications is 2GB.

Author
6 Apr 2005 2:09 PM
Jay B. Harlow [MVP - Outlook]
Yahya,
| But I still didn't understand how can I make use of the whole 4GB of
memory.

As David, Sean, and I have stated you cannot per se until .NET 2.0 64-Bit
edition.

Depending on which server you are running, you can enable .NET 1.1 to use
3GB if your server OS supports it. For details start with "/3GB switch" at:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt17.asp

| I am using such a large amount or memory since this application is copying
| large mail items between public folders on a machine which is also running
| exchange 2003 that is taking alone the minimum of 1GB.
I would review the algorithm I was using to copy the data to see if there
was one that did not require such high memory requirements. Such as reading
& writing 1M chunks at a time.

Hope this helps
Jay


Show quoteHide quote
"Yahya" <x@x.x> wrote in message
news:eH28pvnOFHA.3380@TK2MSFTNGP15.phx.gbl...
|I am using such a large amount or memory since this application is copying
| large mail items between public folders on a machine which is also running
| exchange 2003 that is taking alone the minimum of 1GB.
|
| But I still didn't understand how can I make use of the whole 4GB of
memory.
|
| Thank you,
| Yahya
|
| "David Browne" <davidbaxterbrowne no potted m***@hotmail.com> wrote in
| message news:eLchrmfOFHA.1172@TK2MSFTNGP12.phx.gbl...
| > "Yahya" <x@x.x> wrote in message
| > news:ecduAffOFHA.3716@TK2MSFTNGP14.phx.gbl...
| > > Dear Sirs,
| > >
| > >    I have developed a VB .Net windows application, but unfortunately
| when
| > > I
| > > this application tries to use more than 2GB memory it fails although
| there
| > > is available 4GB of memory on the machine. How may I allocate more
| virtual
| > > memory to be used by the application or extend this limit?
| > >
| >
| > The amount of RAM on the machine is irrelevant.  Your application uses
| > virtual memory which is paged from disk to RAM by the OS.
| >
| > On 32-bit windows you have a 4gig virtual address space which divided
into
| > 2gigs for user-mode code, and 2gigs for kernel-mode code.  So your
| > application (which runs in user-mode) can only access the bottom 2gigs
of
| > the address space.
| >
| > On 64bit windows, native 64-bit apps (which you can't write with .NET
1.1)
| > have a very large address space. 32-bit apps running on 64bit windows in
| the
| > Windows On Windows64 environment still have a 4gig address space, but
| since
| > all no kernel-mode code can run in 32-bit mode, you can use the whole
4gig
| > address space.
| >
| > But seriously, why are you using so much memory?
| >
| > David
| >
| >
|
|
Author
5 Apr 2005 8:50 PM
Jay B. Harlow [MVP - Outlook]
Yahya,
In addition to David's comments.

..NET 2.0 (VS.NET 2005, aka Whidbey, due out later in 2005) supports both a
32-bit CLR & a 64-bit CLR.

http://lab.msdn.microsoft.com/vs2005/

I don't know what the memory limit on the 64-bit CLR is going to be, however
I would expect it to be significantly more then either 2GB or 4GB.

Of course the 2.0 64-bit CLR will require a 64-bit version of the OS (XP Pro
or 2003) as well as a 64-bit CPU.

Hope this helps
Jay


Show quoteHide quote
"Yahya" <x@x.x> wrote in message
news:ecduAffOFHA.3716@TK2MSFTNGP14.phx.gbl...
| Dear Sirs,
|
|    I have developed a VB .Net windows application, but unfortunately when
I
| this application tries to use more than 2GB memory it fails although there
| is available 4GB of memory on the machine. How may I allocate more virtual
| memory to be used by the application or extend this limit?
|
| Regards,
| Yahya
|
|
Author
6 Apr 2005 11:43 PM
Rob Oldfield
Tch.  Nobody with any memories of 64K limits?


Show quoteHide quote
"Yahya" <x@x.x> wrote in message
news:ecduAffOFHA.3716@TK2MSFTNGP14.phx.gbl...
> Dear Sirs,
>
>     I have developed a VB .Net windows application, but unfortunately when
I
> this application tries to use more than 2GB memory it fails although there
> is available 4GB of memory on the machine. How may I allocate more virtual
> memory to be used by the application or extend this limit?
>
> Regards,
> Yahya
>
>