473,394 Members | 2,160 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

2GB virtual memory for each process?

Hello all,

for my image processing application I need a large amount of virtual memory.
I read, that it is normaly possible to get 2GB of virtual memory for each
process and when you modify the boot.ini file it should be possible to get
3GB vitual memory for one process.
I have tried to allocate nearly 2GB in my application, but I receive the
SystemOutOfMemory Exception. It is only possible to allocate a little bit
more than 1GB. I found out, that there is a property for each process,
MaxWorkingSet and MinWorkingSet, where I can choose the max and min working
set size that is allowed for the process in memory. I have increased the max
size to 2GB, but it is still not possible to get more virtual memory for my
application.
How can I use the full virtual memory of 2GB in my application(3GB)?
Are there other possibilities to increase the virtual memory size in .net,
C#?

Thanks in advance for your informations,

kind regards

Gregor
Nov 16 '05 #1
3 10559
Gregor Wind wrote:
Hello all,

for my image processing application I need a large amount of virtual memory.
I read, that it is normaly possible to get 2GB of virtual memory for each
process and when you modify the boot.ini file it should be possible to get
3GB vitual memory for one process.
I have tried to allocate nearly 2GB in my application, but I receive the
SystemOutOfMemory Exception. It is only possible to allocate a little bit
more than 1GB. I found out, that there is a property for each process,
MaxWorkingSet and MinWorkingSet, where I can choose the max and min working
set size that is allowed for the process in memory. I have increased the max
size to 2GB, but it is still not possible to get more virtual memory for my
application.
How can I use the full virtual memory of 2GB in my application(3GB)?
Are there other possibilities to increase the virtual memory size in .net,
C#?


By allocating 2GB of memory, you ask windows to create a single continous
block of memory of 2GB, which might not be available. Does your machine have
3GB of memory or did you create a huge swap file to create the virtual memory
space? If not, that's the problem.

I'm not sure what kind of image processing you're going to do, but 2GB for
image processing seems rather big.

Frans.

--
Get LLBLGen Pro, productive O/R mapping for .NET: http://www.llblgen.com
My .NET Blog: http://weblogs.asp.net/fbouma
Microsoft C# MVP
Nov 16 '05 #2
First of all: what platform are you running on? 3GB used to be only
available for server OS's...
Next: This is about 2GB/3GB address space. That is, if the first allocation
happens to be in the middle of those 2 GB, the biggest available block
afterwards will be 1 GB.
Also, some libraries reserve big amounts of continuos address space without
committing it. I could imagine the .NET runtime does something like that for
the various object heaps. I think it was possible to find out about things
like these with the command line debugger, but I don't really remember
how...
I don't think you have too many options to solve this, the best would
proably be to reduce memory usage of your app. The next best one could be a
64-bit processor, but I'm not sure what framework versions (1.0/1.1/2.0)
support it. And then there are AWE, an API that allows 32-bit windows
application to access more than 4 GB of memory. But they require a server
OS, and are directly not supported by the .net runtime. Maybe a hardware
solution (like an SRAM-based HD) could help you, too.
BTW: What kinds of images are this? A 1GB image could be about 30000x30000
pixels big, so I guess it could be a long video sequence. Couldn't it be
sufficient to have only a few frames in memory at a time?

Niki

"Gregor Wind" <gr*********@gmx.de> wrote in
news:ez***************@TK2MSFTNGP09.phx.gbl...
Hello all,

for my image processing application I need a large amount of virtual memory. I read, that it is normaly possible to get 2GB of virtual memory for each
process and when you modify the boot.ini file it should be possible to get
3GB vitual memory for one process.
I have tried to allocate nearly 2GB in my application, but I receive the
SystemOutOfMemory Exception. It is only possible to allocate a little bit
more than 1GB. I found out, that there is a property for each process,
MaxWorkingSet and MinWorkingSet, where I can choose the max and min working set size that is allowed for the process in memory. I have increased the max size to 2GB, but it is still not possible to get more virtual memory for my application.
How can I use the full virtual memory of 2GB in my application(3GB)?
Are there other possibilities to increase the virtual memory size in .net,
C#?

Thanks in advance for your informations,

kind regards

Gregor

Nov 16 '05 #3
"Niki Estner" <ni*********@cube.net> wrote in message
news:u3**************@TK2MSFTNGP12.phx.gbl...
First of all: what platform are you running on? 3GB used to be only
available for server OS's...
Next: This is about 2GB/3GB address space. That is, if the first allocation happens to be in the middle of those 2 GB, the biggest available block
afterwards will be 1 GB.
Also, some libraries reserve big amounts of continuos address space without committing it. I could imagine the .NET runtime does something like that for the various object heaps. I think it was possible to find out about things
like these with the command line debugger, but I don't really remember
how...
I don't think you have too many options to solve this, the best would
proably be to reduce memory usage of your app. The next best one could be a 64-bit processor, but I'm not sure what framework versions (1.0/1.1/2.0)
support it. And then there are AWE, an API that allows 32-bit windows
application to access more than 4 GB of memory. But they require a server
OS, and are directly not supported by the .net runtime. Maybe a hardware
solution (like an SRAM-based HD) could help you, too.
BTW: What kinds of images are this? A 1GB image could be about 30000x30000
pixels big, so I guess it could be a long video sequence. Couldn't it be
sufficient to have only a few frames in memory at a time?

Niki


Very high quality and large picture, in say 8 colors instead of the usual 4
(CMYK). For instance with gold + silver plus a few others for special
effects. For instance a high quality picture of 24 feet by 36 feet (a
picture for an advertising plate)?

Cheers,
---
Tom Tempelaere
Nov 16 '05 #4

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

Similar topics

29
by: Steven Bethard | last post by:
Fuzzyman wrote: > Cameron Laird wrote: > > >>This is a serious issue. >> >>It's also one that brings Tcl, mentioned several >>times in this thread, back into focus. Tcl presents >>the...
0
by: Gregor Wind | last post by:
Hello all, for my image processing application I need a large amount of virtual memory. I read, that it is normaly possible to get 2GB of virtual memory for each process and when you modify the...
5
by: Bernard | last post by:
Hi, Is there a way to have the virtual table of c++ objects allocated in shared memory (in fact in the same address space as the object is) instead of having it allocated in the process address...
1
by: Larry Bud | last post by:
Wondering what I should be looking at when looking for a memory leak.. Using Process Explorer by SysInternals, and they have a Working Set and a Virtual Size memory column. Which one should I be...
2
by: david.sanderson | last post by:
Hi, Hopefully this is thecorrect group, its a bit C++ and a bit POSIX... Ive had a look in the archives, and Im a bit confused.... I have some classes in a shared library (a .so on a QNX...
4
by: cwc5w | last post by:
I have two classes. One with a regular destructor and the other with a virtual destructor. e.g. class x { ~x(){} } vs
6
by: itsolution | last post by:
Hi folks, Could you shed some light on this issue? my program is running on Freebsd as a daemon. When user sends a request, it forks itself and lets its child process handles the request....
6
by: zissop | last post by:
Hello I have a strange situation with my ASP.Net applications running on Windows 2003 Server x64. As soon as they get instantiated (a visitor hits a page). the virtual memory they allocate goes to...
0
by: George2 | last post by:
Hello everyone, Sorry that this question is related to another question I posted some time before because I have some new findings and self-analysis. My question is why sometimes from perfmon...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
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
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
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...

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.