473,508 Members | 2,240 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

64-bit compile and >2gig memory access

Joe
One of the biggest differences between 32-bit & 64-bit is that 64-bit can
access much greater memory than the 32-bit. I was reading in the MSDN that
..NET application still get the same 2gig limit.
"As with 32-bit Windows operating systems, there is a 2GB limit on the size
of an object you can create while running a 64-bit managed application on a
64-bit Windows operating system."

If this is true, is there any way to increase it?

-Joe
Oct 5 '06 #1
5 3296
Joe wrote:
One of the biggest differences between 32-bit & 64-bit is that 64-bit can
access much greater memory than the 32-bit. I was reading in the MSDN that
.NET application still get the same 2gig limit.
"As with 32-bit Windows operating systems, there is a 2GB limit on the
size of an object you can create while running a 64-bit managed
application on a 64-bit Windows operating system."

If this is true, is there any way to increase it?

-Joe
Joe,

Just to clarify, if your quote is exact, it reads to me as: The 2GB limit is
a limit on the /size/ of a managed object, not a limit on the /amount/ of
memory you can access, e.g. having 2 2GB objects is perfectly valid.

Is this what you meant?

--
Hope this helps,
Tom Spink

Google first, ask later.
Oct 5 '06 #2
Joe <jb*******@noemail.noemailwrote:
One of the biggest differences between 32-bit & 64-bit is that 64-bit can
access much greater memory than the 32-bit. I was reading in the MSDN that
.NET application still get the same 2gig limit.
"As with 32-bit Windows operating systems, there is a 2GB limit on the size
of an object you can create while running a 64-bit managed application on a
64-bit Windows operating system."

If this is true, is there any way to increase it?
Why would you want an object to be 2GB in size anyway? That is a lot of
memory for a single object? Don't you think that it is indicitive of a poor
design to have a 2GB object? In particular, the most likely object to exceed
2GB would be a string, so it should be clear a different approach is necessary
in that case.

Having said that, I do not know the rational behind the 2GB limitation,
although it is coincidentally equal to Int32.MaxValue.

--
Thomas T. Veldhouse
Key Fingerprint: 2DB9 813F F510 82C2 E1AE 34D0 D69D 1EDC D5EC AED1
Oct 5 '06 #3

"Joe" <jb*******@noemail.noemailwrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl...
| One of the biggest differences between 32-bit & 64-bit is that 64-bit can
| access much greater memory than the 32-bit. I was reading in the MSDN that
| .NET application still get the same 2gig limit.
| "As with 32-bit Windows operating systems, there is a 2GB limit on the
size
| of an object you can create while running a 64-bit managed application on
a
| 64-bit Windows operating system."
|
| If this is true, is there any way to increase it?
|
| -Joe
|
|

That's right, the object size limit of ~2GB is only imposed by the CLR ,
however, no such restriction exists at the language level (CIL), so it's
possible that sometime in future this restriction will be removed or set to
another (higher) value.
The real difference between 32 bit and 64 bit is the addressable process
space (user space), A 32 bit .NET application can only address up to 2GB (or
3GB using 4GT tuning) while a 64bit .NET application can address several TB
(HW and OS restricted).
That means that while a 64 bit .NET application can create multiple <2GB
objects (constrained by available RAM) on 64 bit, a 32 bit application can't
even create a single object of that size (due to fragmentation). Be aware
that fragmentation will show it's uggly head on 64bit systems too.

Willy.

Oct 5 '06 #4
Joe
That answers my question. I wasn't too clear as to what they meant by
"object". I didn't know if they were referring to an object such as a class
or an object such as the application.
Since the application can support the full limit of the 64-bit architecture,
than compiling a 64-bit version will have huge advantages for us.

"Willy Denoyette [MVP]" <wi*************@telenet.bewrote in message
news:%2****************@TK2MSFTNGP03.phx.gbl...
>
"Joe" <jb*******@noemail.noemailwrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl...
| One of the biggest differences between 32-bit & 64-bit is that 64-bit
can
| access much greater memory than the 32-bit. I was reading in the MSDN
that
| .NET application still get the same 2gig limit.
| "As with 32-bit Windows operating systems, there is a 2GB limit on the
size
| of an object you can create while running a 64-bit managed application
on
a
| 64-bit Windows operating system."
|
| If this is true, is there any way to increase it?
|
| -Joe
|
|

That's right, the object size limit of ~2GB is only imposed by the CLR ,
however, no such restriction exists at the language level (CIL), so it's
possible that sometime in future this restriction will be removed or set
to
another (higher) value.
The real difference between 32 bit and 64 bit is the addressable process
space (user space), A 32 bit .NET application can only address up to 2GB
(or
3GB using 4GT tuning) while a 64bit .NET application can address several
TB
(HW and OS restricted).
That means that while a 64 bit .NET application can create multiple <2GB
objects (constrained by available RAM) on 64 bit, a 32 bit application
can't
even create a single object of that size (due to fragmentation). Be aware
that fragmentation will show it's uggly head on 64bit systems too.

Willy.



Oct 5 '06 #5
While a particular object may be limited to 2GB, your .NET application can
consume signifigantly more than 2GB in x64 land.

The SoapBox Server (a product I work on) has been up around the 64GB mark on
a few occasions during scalability testing.

--
Chris Mullins, MCSD.NET, MCPD:Enterprise
http://www.coversant.net/blogs/cmullins
"Joe" <jb*******@noemail.noemailwrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl...
One of the biggest differences between 32-bit & 64-bit is that 64-bit can
access much greater memory than the 32-bit. I was reading in the MSDN that
.NET application still get the same 2gig limit.
"As with 32-bit Windows operating systems, there is a 2GB limit on the
size of an object you can create while running a 64-bit managed
application on a 64-bit Windows operating system."

If this is true, is there any way to increase it?

-Joe

Oct 6 '06 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
7586
by: Srijit Kumar Bhadra | last post by:
Hello, Here are code snippets to create and access shared memory in Python with and without ctypes module. With regards, Srijit Filename : SharedMemCreate.py import msvcrt, mmap
14
5386
by: Sean C. | last post by:
Helpful folks, Most of my previous experience with DB2 was on s390 mainframe systems and the optimizer on this platform always seemed very predictable and consistent. Since moving to a WinNT/UDB...
4
5172
by: xixi | last post by:
i have a very serious memory problem, we have db2 udb v8.1 load on a HP titanium machine with 4 G memory, it is 64bit machine, currently on DB2 instance , i have three databases, but only one is...
5
2194
by: Aaron Birkland | last post by:
I have a long but straightforward query (on some very large tables) that always ends in 'Memory exhausted in AllocSetAlloc(108)'. Even stranger are some messages that appear in the logfile, such...
4
5968
by: Sean Shanny | last post by:
To all, Running into an out of memory error on our data warehouse server. This occurs only with our data from the 'September' section of a large fact table. The exact same query running over...
74
4589
by: ballpointpenthief | last post by:
If I have malloc()'ed a pointer and want to read from it as if it were an array, I need to know that I won't be reading past the last index. If this is a pointer to a pointer, a common technique...
49
3126
by: vfunc | last post by:
If I have a large array 10,000+ elements then how do I reserve memory for this ? Currently I get a segmentation fault. Dynamic reservation is good, but allowing a chunk for the program is an...
7
10156
by: brett.estabrook | last post by:
I have written a multi-threaded c# windows service in .net 1.1 (Visual Studio .net 2003). The service has several threads that poll a Sql 6.5 database on another machine. Each thread will execute a...
0
1613
by: db2admin | last post by:
While running following command CREATE INDEX ABC.CDE_X1 ON ABC.CDE (C1 ASC, C2 ASC, C3 ASC, C4 ASC ) allow reverse scans collect detailed statistics DB21034E The command was processed as an SQL...
22
9303
by: Peter | last post by:
I am using VS2008. I have a Windows Service application which creates Crystal Reports. This is a multi theaded application which can run several reports at one time. My problem - there is a...
0
7231
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7132
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7401
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7063
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7504
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
4720
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3211
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
1568
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
432
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.