K
Klaus Bonadt
I have an application, which makes heavily use of stl and memory
consumption.
After a while the application is not be able to allocate memory from the
system anymore. The following functions fail for claiming 0.5MB:
HeapAlloc with current default heap
creating a new heap with CreateHeap
using new operator
I use XP pro with 2GB physical RAM and fixed 1GB page file.
Task Manager provide the following information at this point for Commit
Charge in KBytes:
Total: 1631776
Limit: 2967716
Process Viewer shows for this application:
Working Set: 289036 KB
Heap Usage: 1421896 KB
What's strange is, I am still be able to start another program, which
allocates in a loop chunks of 1MB RAM. This is possible for approximately
further 1.2 GB until the limit 2967716 KB is reached.
Why is it not possible for my application to allocate more memory while
another process is able to do so?
Regards,
Klaus
consumption.
After a while the application is not be able to allocate memory from the
system anymore. The following functions fail for claiming 0.5MB:
HeapAlloc with current default heap
creating a new heap with CreateHeap
using new operator
I use XP pro with 2GB physical RAM and fixed 1GB page file.
Task Manager provide the following information at this point for Commit
Charge in KBytes:
Total: 1631776
Limit: 2967716
Process Viewer shows for this application:
Working Set: 289036 KB
Heap Usage: 1421896 KB
What's strange is, I am still be able to start another program, which
allocates in a loop chunks of 1MB RAM. This is possible for approximately
further 1.2 GB until the limit 2967716 KB is reached.
Why is it not possible for my application to allocate more memory while
another process is able to do so?
Regards,
Klaus