- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have 2.35 TB of virtual memory in a x64 application but I still get a error(41) insufficient virtual memory message. I ham using Win-10 x64 and debug build targetting x64 using msvs 2013 community edition and Intel's PS XE CE Fortran 2017 r2. So how do I tell my exe that it has a lot of memory? How do I give it a larger stack space, a larger fp stack space?
Thanks,
Brooks
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Brooks,
You are likely confusing the term Virtual or Physical Address Space with Virtual Memory. The Virtual/Physical Address Space is a hardware limitation of the CPU. Whereas the Virtual Memory capacity of a process is an O/S limitation providing a sub-set of the CPU capability. This limitation is typically a limitation of the system Page File (Swap File) capacity and/or how the O/S is configured to partition the CPU's Virtual/Physical Address Space (portion for O/S, portion for application, portion for dynamically loaded libraries, portion for I/O, etc...).
Look at the page file size. On Windows 7 this is in System Properties, Advanced, Performance, Settings, Advanced, Virtual Memory, Change
Note, this will reserve sufficient disk space for the size you specify. To get what you stated, you will require a single volume with 2.35TB free space (less current page file size) to make that size available. (Subject to O/S limitations https://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx#physical_memory_limits_windows_10)
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The "memory status" you posted is inaccurate. You certainly don' have 2TB of available virtual memory - not with only 1TB and change of free disk space. That is showing you the theoretical maximum Windows currently supports. There really isn't a good way to know what the actual limit is, as there is no setting for this. You don't know until you run out.
You asked about FP stack size - on X64 there is no such thing, and even on IA-32 you're using SSE instructions and not the old x87 FP stuff (where the FP stack size is fixed.)
So how much VM did your program use before it failed? Intel Inspector XE has a "memory growth" display that can be helpful.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve, I don't have Intel Inspector XE. I have the Composer edition. I don't have money for something like Inspector.
Brooks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can always get a 30-day free trial.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve,
I got it and ran it. I'm only using about 500GB and the only memory errors are coming from tv_x64.dll. It is not an easy tool to use and I had to manually change the global flags by hand in the hklm.
Brooks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That is 500 MB not GB.
Brooks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don;t know what tv_x64.dll is. How much memory was trying to be allocated when it failed? Was this an explicit ALLOCATE in your code?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It may take me a few days to answer your questions.
Brooks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
All,
This was my problem. I didn't destroy all the resources I created under Windows. And some I destyroyed too many times. I had to do a pairwise grouping process to make sure I destroyed everything I created.
Thanks all,
Brooks
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page