Select to view content in your preferred language

Out of memory error

13482
10
Jump to solution
08-04-2017 01:34 PM
AdamBorczyk
Regular Contributor

Hi,

for the past few days I suddenly started to experience Out Of Memory error coming out of ArcMap. It happens when I'm working with raster Classification tool. I basically draw some training sites on a raster and press 'view histogram' of the sites or 'view scatterplot'. I was able to use it normally until recently. What is strange, I'm able to perform chosen classification with this data, just can't preview histogram/scatterplot/statistics (which is crucial). After some attempts to open these histograms etc., I get ArcMap crashed and a window to send the report appears.

The image I'm working on is ~800mb product of Landsat image (7 bands), but it also happens on any other image.

What I tried to do after getting the error:

- clean up Windows using Disk Cleanup (some temp files etc)

- clean the Default.gdb to zero (that was my scratch space)

- disable all extensions except one which is needed (Spatial Analyst)

- started new project, new .mxd file and load only the raster to work on into it

- create fresh new shapefile of training sites

- restart laptop and Arc of course

I run Windows 7 Pro x64 and ArcGIS 10.5.0.6491. I got 8GB of RAM and 4-core Sandy Bridge CPU. I have 20-30 GB free on my SSD disk. I would appreciate any help, since I cannot do my work at all because of it.

https://community.esri.com/community/gis/managing-data?sr=search&searchId=0f88668d-ed0b-4e6c-8bcf-95...

0 Kudos
1 Solution

Accepted Solutions
AdamBorczyk
Regular Contributor

I think I got this. When processing images, there was a field to (optionally) specify NoData value. There was some value input already and I left it untouched since it was default. This value was 2147483647 (or -2147483647). This got my raster promoted to 32-bit signed integer, because it was 16-bit signed int before. I suppose 32-bit ArcGIS geoprocessing won't handle 2^32 value range in raster, hence the error. Not sure if it's correct what I think, but it behaves like this.

So the point is to observe and take action if some tool wants your NoData to have a value that is above the range of your current raster, because otherwise it promotes it to the next pixel depth range.

I personally used a Copy Raster tool afterwards, where you can specify pixel depth and NoData value.

View solution in original post

10 Replies
DanPatterson_Retired
MVP Emeritus

check your specs against the recommended here

8 Gb of ram is not relevant unless you are using something that supports 64 bit background geoprocessing...

ArcMap is restricted to 4 max., in a perfect world

Check your video specs specifically

And if it works on a more uptodate machine and operating system with better specs you could rule out issues with the data itself

0 Kudos
AdamBorczyk
Regular Contributor

Hi, thanks for the advice. Unfortunately my laptop has better specs than recommended and it doesn't help. E.g. I run ArcMap with 1GB NVidia card. I'll try to find some new machine to try it, but what puzzles me is that I was successfully using this tool for a few months already! And it suddenly stopped - there must be a way to repair it.

0 Kudos
DanPatterson_Retired
MVP Emeritus

If it worked with that exact same file previously, then it has something to do with your environment or you may need to Repair arcmap (through your operating system in the ininstall/install section, there is a repair... can't remember where exactly in win 7)

AdamBorczyk
Regular Contributor

Thank you for your suggestion. I tried both to reinstall ArcGIS package and repairing the installation and so far it works. I hope it won't crash again - then I'll try another machine.

AdamBorczyk
Regular Contributor

I think I got this. When processing images, there was a field to (optionally) specify NoData value. There was some value input already and I left it untouched since it was default. This value was 2147483647 (or -2147483647). This got my raster promoted to 32-bit signed integer, because it was 16-bit signed int before. I suppose 32-bit ArcGIS geoprocessing won't handle 2^32 value range in raster, hence the error. Not sure if it's correct what I think, but it behaves like this.

So the point is to observe and take action if some tool wants your NoData to have a value that is above the range of your current raster, because otherwise it promotes it to the next pixel depth range.

I personally used a Copy Raster tool afterwards, where you can specify pixel depth and NoData value.

DanPatterson_Retired
MVP Emeritus

nodata... environment setting mentions bit promotion and some options on how to avoid it... glad it worked out

0 Kudos
AdamBorczyk
Regular Contributor

You're right, but the Pricipal Components just doesn't honour this Environment setting.

0 Kudos
XanderBakker
Esri Esteemed Contributor

You could create a mask for the area that contains data and use the mask setting which is support by Principal Components—Help | ArcGIS Desktop  

0 Kudos
AdamBorczyk
Regular Contributor

Hi, thanks. This doesn't have any effect on pixel depth though. The advantage is only that you don't need to run separate Clip Raster tool (which takes a long time) - of course in case you actually need any clip.

0 Kudos