X
PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 01 Jun 2015 01:58 PM by  anon
Unable to allocate memory: to make array. Not enough space
 1 Replies
Sort:
You are not authorized to post a reply.
Author Messages

anon



New Member


Posts:55
New Member


--
01 Jun 2015 01:58 PM
    During the runtime execution of code, I get an error saying “Unable to allocate memory: to make array. Not enough space”. I seem to understand that this issue seems to stem from the virtual memory requesting a the request for a continuous free space of memory which it could not find. Other people can use the code just fine on the same computer and on other computers, however I still can’t execute the code. We would appreciate any solutions that you could provide or point to the right direction if possible. Systems: Windows 7 Enterprise, 4GB RAM

    Zachary Norman



    Basic Member


    Posts:173
    Basic Member


    --
    02 Jun 2015 08:35 AM
    The first thing that I would check when you get this message is the actual memory that IDL is using because it may very well be that you are actually running out of memory for that one user. To check the memory I would look in two different places. 1) Windows task manager. This is more handy than looking at the memory that IDL says it is using because it gives you multiple, important numbers. While on the processes tab, go to View-> Select Columns and then check the boxes for 'Memory - Working Set' and 'Memory - Peak Working Set.' The Peak Working Set memory tells you the maximum amount of memory that IDL has used since it has been open, which can be a good indicator if you are running out of memory. I would also just check and see how much of your physical memory you are using 2) The other location to check the memory is from within IDL. I don't find this as informative as the Task Manager. Within IDL, type 'help, /memory' which will return a list of the number of bytes that are currently being used. You can compare this to the Task Manager numbers, which may be higher. Compared to computers from 10 years ago, 4 GB or RAM is a lot, but today it is not so much. When I use Chrome, Outlook, and a couple other programs I'm sitting at about 75% of my 4GB of RAM. Apart from your memory, if your program is dealing with large arrays, you may want to go through and make sure that you aren't having duplicates of these variables. The temporary() function can help with this. Also, if you are using an older version of IDL, there may be some bugs which cause memory leaking. It is always a good idea to have the most recent version of IDL if you can.
    You are not authorized to post a reply.