View previous topic :: View next topic |
Author |
Message |
Anonymous Guest
|
Posted: Fri Dec 09, 2005 4:49 am Post subject: Static and Allocatable Array Limit |
|
|
With the use of ever increasing data sets, we have discovered that using FTN95, there seems to be an upper limit on the declaration of both static and allocatable arrays of approx 1Gb. This is not an individual array limit, but the maximum permited size of the total of all such arrays.
If the total static array space exceed this value then the application fails with a runtime error, or if an dynamic allocation is made then this will fail if the total of static and allocatable array space exceeds the same limit.
Can anyone explain why this should be and if there is a way of declaring/using arrays that would allow us to go beyond this limit? Is not the addressable limit for 32bit somewhere in the region of 4Gb?
David Bradly
Bradly Associates Ltd |
|
Back to top |
|
|
Andrew
Joined: 09 Sep 2004 Posts: 232 Location: Frankfurt, Germany
|
Posted: Sun Dec 11, 2005 8:42 am Post subject: Static and Allocatable Array Limit |
|
|
In theory the addressable limit is 4Gb, however, there are several things that get in the way of this. Firstly Windows reserves 2Gb for itself so user programs only ever have a maximum of 2Gb available. The other issue is that of loaded DLLs which pollute the address space and prevent allocations greater than a certain size. This size will be different for different people as they will have different bits of code getting in the way. The problem should however only affect individual arrays, not the total of all arrays.
Are you using any debugging options when attempting this? /CHECK can have an impact on the way memory is used for internal purposes, when using /CHECK et al fresh memory is always allocated rather than any that may previously have been freed up so as to allow for checking of dangling pointers. To see what the 'normal' behaviour will be with memory issues it is always best to run with no debugging options.
See the following thread for possible info about getting more available memory:
http://forums.silverfrost.com/forums/forum.asp?forumid=3&page=0&select=943#xx943xx
There are ways to get more if using one of the newer Windows operating systems by using the boot.ini switch /3GB which increases the user space to 3GB rather than two. SLINK automatically sets the correct headers in the executable to take advantage of this if available. |
|
Back to top |
|
|
Anonymous Guest
|
Posted: Wed Dec 14, 2005 7:50 am Post subject: Static and Allocatable Array Limit |
|
|
Andrew,
The problem we have experienced is with arrays in COMMON and ALLOCATABLE arrays. It seems that the TOTAL of this space is limited to about 1GB (in our situation). Both these kinds of data seems to be part of the VIRTUAL COMMON space in the executable. Can you confirm this?
It may be that other DLL's are affecting the limit and it will be interesting to experiment with the boot.ini switch (if I dare!).
I was unable to access the other thread on this issue - is the 'address' correct? |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7925 Location: Salford, UK
|
Posted: Thu Dec 15, 2005 12:18 am Post subject: Static and Allocatable Array Limit |
|
|
David
I do not think that there is a significant limit in these areas but I have not checked this in the code.
I did not experience any problems when I added the /3GB switch to my boot.ini and I recommend that you try this.
You can get two or three threads on this subject by using "Search for" with "3GB" but you may need to remove the "3GB" from the box after the search to get back to normal.
Paul |
|
Back to top |
|
|
LA
Joined: 27 Nov 2005 Posts: 7
|
Posted: Sat Dec 17, 2005 6:37 am Post subject: Static and Allocatable Array Limit |
|
|
Paul Laidler wrote: I did not experience any problems when I added the /3GB switch to my boot.ini and I recommend that you try this.
This worked fine on XP Pro and XP Home on my desktop, but on my laptop caused all sorts of hideousness that prevented a clean boot and login. So add it as an extra line in your boot.ini. Don't amend the only XP bootup line you've got - if you do, it will take much swearing, strong tea and an external boot device to fix it. Caveat tweakor.
Andrew Smith
[url="http://www.londonanalytics.info/"]London Analytics[/url] _________________ Andrew+Smith%0D%0A%5Burl%3D%26quot%3Bhttp%3A%2F%2Fwww%2Elondonanalytics%2Einfo%2F%26quot%3B%5DLondon+Analytics%5B%2Furl%5D |
|
Back to top |
|
|
|